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

问题描述 投票:2回答:4

我做了一个简单的登录表单,但令我烦恼的是,如果您查看请求(它是ajax),则可以看到用户密码,即?user = Bob&pass = secret

这是根本不用担心的事情,或者我做错了吗?我想不出解决办法。

jquery ajax post login get
4个回答
1
投票

如果您不使用SSL,则GETPOST是等效的。尽管使用SSL时,POST与GET相比更安全。

GET发送未加密的数据,但是当您使用SSL时,将发送的HTTP数据将被加密,因此将是安全的。

您可以检出相关线程:-Send password safely using an ajax request


0
投票

如果您能够查看请求,则可以查看密码,无论它是未加密的GET还是POST请求。

为了保护您的用户,最佳做法是同时提供登录页面本身并通过SSL将数据发布到您的服务器。这将有助于防止恶意方查看请求并查看该敏感信息。

如果要更进一步,您可以在发送给服务器之前安全地用Javascript加密用户密码。这是一些有关此的更多信息:https://softwareengineering.stackexchange.com/questions/76939/why-almost-no-webpages-hash-passwords-in-the-client-before-submitting-and-hashi


0
投票

使用帖子或获取https ... Http帖子并获取请求是纯文本。


0
投票

始终使用HTTPS,并且始终选择POST。 GET方法将允许您的浏览器在将URL存储在其历史记录中时存储用户名和密码,还可以将其发送到第三方网站(例如Google Analytics(分析))。另外,服务器通常会记录包括查询字符串参数在内的请求数据。很明显,为什么使用GET是一个非常糟糕的主意。

© www.soinside.com 2019 - 2024. All rights reserved.