我已经制作了一个简单的登录表单,但是如果你查看请求(它是ajax),你可以看到用户密码,即?user = Bob& pass = secret
这根本不用担心,还是我做错了?我想不出办法解决这个问题。
答案 0 :(得分:1)
如果您不使用 SSL ,则 GET 和 POST 等效。虽然与存在SSL时的GET相比,POST更安全。
GET发送未加密的数据,但是当您使用SSL时,将要发送的HTTP数据将被加密,因此它将是安全的。
您可以查看相关主题: - Send password safely using an ajax request
答案 1 :(得分:1)
始终使用HTTPS,并且始终选择POST。 GET方法将允许您的浏览器在将URL存储在其历史记录中时存储用户名和密码,还可以将其发送到第三方网站(例如Google Analytics(分析))。另外,服务器通常会记录包括查询字符串参数在内的请求数据。很清楚为什么使用GET是一个非常糟糕的主意。
答案 2 :(得分:0)
如果您能够查看请求,则可以查看密码,无论是未加密的GET还是POST请求。
为了保护您的用户,最佳做法是同时提供登录页面本身并通过SSL将数据发布到您的服务器。这将有助于防止恶意方查看请求并查看敏感信息。
如果您想更进一步,您可以安全地在Javascript中散列用户密码,然后再发送到您的服务器。以下是有关此内容的更多信息:https://softwareengineering.stackexchange.com/questions/76939/why-almost-no-webpages-hash-passwords-in-the-client-before-submitting-and-hashi
答案 3 :(得分:0)
使用post或get over https ... Http post和get requests是纯文本。