4

一般做法是,当您登录或执行其他需要您的用户名和密码的操作时,您将其发送到 post 请求的正文中。此外,为了增加安全性,应该使用 https。

在获取请求中,这些参数作为 URL 的一部分发送。但据我了解,在 https 中,正文和标头都是加密的。

所以理论上,无论你使用 https post 还是 get 发送,你的数据都是安全的……在一种情况下,攻击者将不得不解密你的 header 和你的 body。

所以我的问题是,如果这一切都是真的,那么发布如何更安全?

4

5 回答 5

8

除了其他人已经写过的内容之外,还有一点,在网络服务器日志文件中,最常记录整个 url,因此任何有权访问日志文件的人都可以读取登录凭据。此外,如果页面上有一些流量分析工具(比如谷歌分析或其他),那么那里也会报告调用 url -> 这些人也可以读取登录凭据(他们甚至可能出现在流量分析中)。

于 2013-11-18T13:00:19.520 回答
4

GET 记录在浏览器的历史记录中。有人可能会查看您的冲浪历史并查看您的密码。

于 2013-11-16T17:30:35.410 回答
1

将某些内容放入 GET 请求的主要目的是能够为结果添加书签。这对搜索结果非常有用,而不是登录请求。理论上,共享该 URL 将允许任何人使用您的用户名和密码登录。

于 2013-11-05T17:11:37.600 回答
1

****与您在密码输入字段中显示的原因相同...

如果您通过 GET 发送凭据,任何从用户背后看的人都可以在 URL 栏中看到密码(或者可能是密码的哈希值,具体取决于您执行登录的方式)。

于 2013-11-05T17:04:32.030 回答
0

这是出于隐私考虑。正如其他人所提到的,GET可以轻松跟踪请求,以便潜在的恶意方可以读取 URL 字符串。

诸如
www.facebook.com/login?username=ironman231&password=veryStrongPassword

这样的 URL 就是一个很好的例子;用户名和密码在 URL 中直接可见。

于 2021-11-17T07:10:03.833 回答