通过GET或POST传递密码的最佳方式

时间:2013-10-13 08:15:12

标签: jquery ajax post login get

我已经制作了一个简单的登录表单,但是如果你查看请求(它是ajax),你可以看到用户密码,即?user = Bob& pass = secret

这根本不用担心,还是我做错了?我想不出办法解决这个问题。

4 个答案:

答案 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是纯文本。