我制作了一个简单的登录表单,但让我烦恼的是,如果您查看请求(它是 ajax),您可以看到用户密码,即 ?user=Bob&pass=secret
这是完全不用担心的事情还是我做错了?我想不出办法解决这个问题。
Always use HTTPS and always opt for POST. The GET method will allow your browser to store the username and password when it stores the URL in its history and can also be sent to third party sites, e.g., google analytics. Also, servers will often log the request data including query string parameters. It's pretty clear why using GET is a very bad idea.
如果您不使用SSL,那么GET和POST是等效的。尽管存在 SSL 时 POST 比 GET 更安全。
GET 发送未加密的数据,但是当您使用 SSL 时,将发送的 HTTP 数据将被加密,因此它将是安全的。
您可以查看相关线程:-使用 ajax 请求安全发送密码
如果您能够查看请求,则可以查看密码,无论它是未加密的 GET 请求还是 POST 请求。
为了保护您的用户,最佳做法是提供登录页面本身并通过 SSL 将数据发布到您的服务器。这将有助于防止恶意方查看请求并查看敏感信息。
如果您想更进一步,您可以在 Javascript 中安全地散列用户密码,然后再将其发送到您的服务器。以下是有关此的更多信息:https ://softwareengineering.stackexchange.com/questions/76939/why-almost-no-webpages-hash-passwords-in-the-client-before-submitting-and-hashi
使用 post 或通过 https... Http post 和 get 请求是纯文本。