我做了一個簡單的登錄表單,但是我發現的是,如果查看請求(它是ajax),您可以看到用戶密碼ie?user = Bob &通過=祕密通過GET或POST傳遞密碼的最佳方式
這是一件不要擔心的事情或者我做錯了什麼?我想不出一個辦法解決這個問題。
我做了一個簡單的登錄表單,但是我發現的是,如果查看請求(它是ajax),您可以看到用戶密碼ie?user = Bob &通過=祕密通過GET或POST傳遞密碼的最佳方式
這是一件不要擔心的事情或者我做錯了什麼?我想不出一個辦法解決這個問題。
如果你沒有使用SSL 然後 GET 和 POST 是等價的。雖然POST在SSL存在時比GET更安全。
GET發送未加密的數據,但是當您使用SSL時,將發送的HTTP數據將被加密,因此它將是安全的。
您可以檢查出相關的線索: - Send password safely using an ajax request
此外,如果通過'GET'發送密碼,長度將受到限制到URL的最大長度。 – Arin
如果你能夠查看請求,您可以查看密碼是否是一個未加密的GET或POST請求。
爲了保護用戶,最佳做法是同時提供登錄頁面和通過SSL將數據發佈到服務器。這將有助於防止邪惡組織查看請求並查看敏感信息。
如果你想更進一步,你甚至可以在發送到你的服務器之前,安全地用JavaScript來散列用戶密碼。這裏有一些更多的信息:https://softwareengineering.stackexchange.com/questions/76939/why-almost-no-webpages-hash-passwords-in-the-client-before-submitting-and-hashi
目前我正在使用PBKDF2以16000次迭代散列serverside。散列客戶端對於一些機器不好的人來說可能會很慢,並且會把所有客戶端引入關於散列的新安全問題? – imperium2335
@ imperium2335: - 我建議你使用bcrypt來保護密碼: - http://codahale.com/how-to-safely-store-a-password/ –
@ imperium2335: - 同時檢查這個相關的線程爲您的查詢: - http://crypto.stackexchange.com/questions/24/what-makes-a-hash-function-good-for-password-hashing –
使用帖子或獲取通過https ... http post和get請求是純文本。
'如果您查看請求' - 誰是'您',以及他們'如何查看'請求? – raina77ow
這個問題可能會幫助你:http://stackoverflow.com/questions/4003325/send-password-safely-using-an-ajax-request –