Security 在查询字符串或流中发送用户名/密码之间有区别吗?

Security 在查询字符串或流中发送用户名/密码之间有区别吗?,security,https,uri,Security,Https,Uri,从安全角度看,在查询字符串中发送用户名和密码与在POST正文中作为复杂对象发送有区别吗 我使用的是HTTPS 例: myservices.com/auth?username=myname&password=mypass 与从请求中获取流并将其反序列化到对象相比 由于该方法是POST并使用HTTPS,这有关系吗?存在巨大差异。查询字符串是URL的一部分。它以明文形式出现在浏览器历史记录和地址栏中。已知的攻击可以检查浏览器的历史记录。不要将敏感数据放在URL中。通过HTTPS发送信息的方式如下 "a

从安全角度看,在查询字符串中发送用户名和密码与在
POST
正文中作为复杂对象发送有区别吗

我使用的是
HTTPS

例:

myservices.com/auth?username=myname&password=mypass

与从请求中获取流并将其反序列化到对象相比


由于该方法是
POST
并使用
HTTPS
,这有关系吗?

存在巨大差异。查询字符串是URL的一部分。它以明文形式出现在浏览器历史记录和地址栏中。已知的攻击可以检查浏览器的历史记录。不要将敏感数据放在URL中。

通过HTTPS发送信息的方式如下

"adaadnajdkbjkbdbk27y27672323gyu2gugsgjuguq2e2eh2t67878et27tshjdgjg32766t17te76tgeuyg1et617e67t281te8t128et71te56t1267e71dvdhj12d672d7f12fd712dgugvduv217df76127dr6217712d6721dr716rd671r672d"

不管GET或POST方法如何,唯一的区别是您的敏感数据将在URL中公开。我不建议使用它,因为您的浏览器历史记录将存储您的敏感数据,这些数据可能被黑客提取。

我将在前面的答案中添加一点。URL也很可能最终出现在服务器访问日志中。因此,URL中的敏感信息将以明文形式存储在服务器日志中(而不是在某个地方的数据库中进行加密/散列)。

如果它在查询字符串中,任何人都可以在位置栏中查看用户的密码。可能重复感谢您的分数,但正如@JacobM所说,这绝对是一个重复。希望有人会来,并关闭这作为一个重复。