2010-11-04 124 views
19

我有註冊框,我希望用戶通過ajax註冊。 通過jquery ajax發送密碼是否安全? 如果沒有,有人可以解釋怎麼做來保護密碼數據,任何示例?jQuery,通過ajax發送密碼?

回答

7

只是爲了澄清,沒有100%安全的方法來發送任何類型的數據與Ajax,甚至正常的POST。

一個很好的做法是使用SSL/TLS證書,如果你有一個很好的SSL/TLS證書,沒有人可以通過觀察你的網絡流量來嗅出密碼。

不幸的是,這些服務並不是免費的。 (*)

如果您不想爲此付費,而您正在創建註冊/登錄,您可以簡單地使用OpenAuth或OpenID,並讓人們使用社交網絡加入,避免了許多安全步驟和服務器端。

*:按照Ivan Venediktov的建議,您現在可以通過關注此LINK獲得免費的SSL證書。

+0

我將需要檢查這個.Tnx – user147 2010-11-10 17:32:53

+24

我不認爲這說什麼關於安全 – Elaine 2012-07-13 14:42:25

+1

這是沒有用的,如果你有螢火蟲,它的顯示用戶名和密碼。任何知道螢火蟲或某事的用戶都可以從控制檯看到您的請求,並且可能會誤用代碼 – 2013-07-25 13:23:00

6

如果您使用的是HTTPS(SSL)(並且請爲需要安全的任何事情做),那麼是的,一個AJAX請求不會比完整回發到服務器更安全。

19

確保你通過POST發送它,並使用SSL而不是普通的舊http,你應該沒問題。通過AJAX發送不會比普通帖子安全。

this answer(另有討論here)在深入解釋多,但它的JIST是,你提出請求,並通過線路傳輸的信息是基本相同無論是其一個AJAX請求或表單提交。

+4

我想補充說,整個HTTP請求,無論是POST或GET都通過HTTPS連接加密。沒有比其他更安全的了,除了主要的例外情況(這裏不適用ajax的b/c),可能會在用戶地址欄歷史記錄中看到URL - 並且您可能不希望在用戶的歷史記錄中保存密碼。 – EBarr 2010-11-04 21:35:32

+0

你能發表一些相關的鏈接或關於該鏈接的更多信息。 – 2014-11-30 13:42:41

+1

@SiddharthSharma更新了一些指向網絡上其他問題的鏈接。 – Radu 2014-11-30 19:59:57

5

它與通過完整的回傳發送密碼一樣安全/不安全。您需要使用加密連接才能保證安全(r)。使用SSL(https://)。

+0

Upvoted for「安全(r)」 – TheCarver 2015-02-09 23:32:06

3

如果你想更安全一步。 你甚至不需要收集用戶密碼,你可以在客戶端生成一個散列(帶鹽!),就像這樣http://www.movable-type.co.uk/scripts/sha1.html然後你永遠不會看到密碼,只有散列

唯一的問題與這是JavaScript是必需的。你可以很容易地做一個回退

+0

那麼,如果一個人在中間窺探散列呢?他會不會仍然能夠登錄? – Kebman 2015-08-28 19:30:03

+0

是的,但你不泄露密碼。 另一個是爲每個登錄嘗試發送一個獨特的鹽,你使用密碼+獨特的鹽在客戶端生成一個哈希。但是,你只是越來越複雜 – 2015-08-30 01:12:07

+0

但是,既然你也發送網頁,中間的人不會知道加密方法,因此能夠很容易地破解它?我的意思是,如果他已經可以窺探客戶發送的東西,那麼鹽也不會被輕易攔截? – Kebman 2015-08-30 01:40:13