簡體   English   中英

使用安全連接登錄Django Web服務

[英]Login to Django web service using a secure connection

我編寫了一個簡單的Django Web服務,該服務為iOS應用提供了包含下載鏈接的JSON信息。 我不介意JSON信息是純文本,但是當用戶登錄時,我希望他使用他的用戶名和密碼登錄,那么他可能會為將來的請求獲得某種密鑰,據我了解,這可能是嗅出。 對於第一次交互,我如何保護密碼和用戶名不被明文竊聽?

我已經決定要使用對稱加密來加密我的密碼,並在客戶端和服務器上都具有該密鑰。 (是的,我知道,如果有人遇到二進制攻擊我的應用程序並從客戶那里嗅探到數據包的麻煩,那么他就能夠以明文形式獲取密碼,這根本就不用擔心)。

我想使用一種可以在iOS中輕松完成的加密,而不是在django服務器中進行解密。 有人對此有建議嗎?

如果要加密django服務器和客戶端之間的通信,則可以使用安全的HTTP,而不是普通的舊HTTP。 這是在Django外部完成的,並在Web服務器級別進行了配置。 例如,如果您的django應用是由諸如gunicorn或uWSGI之類的WSGI服務器運行的,而這又是由nginx處理的(這是一種常見設置),那么您可以將nginx服務器配置為僅接受安全的HTTP請求並轉發任何標准的HTTP請求到https。 這樣,您可以確保客戶端發送到服務器的所有內容在發送之前都已在瀏覽器上進行了加密。 盡管我個人從未將Apache與django一起使用,但使用Apache進行了類似的設置。

由於OP認為HTTPS並非可行的選擇,因此可以選擇對CHAP 質詢握手身份驗證協議進行修改以用於初始密鑰創建。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM