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

时间:2012-07-03 16:19:02

标签: security https uri

安全方面是否存在差异,在查询字符串中发送用户名和密码,而不是将其作为复杂对象发送到POST的正文中?

我正在使用HTTPS

例如:

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

与从请求中获取Stream并将其反序列化为对象?

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

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

通过HTTPS发送信息的方式是

"adaadnajdkbjkbdbk27y27672323gyu2gugsgjuguq2e2eh2t67878et27tshjdgjg32766t17te76tgeuyg1et617e67t281te8t128et71te56t1267e71dvdhj12d672d7f12fd712dgugvduv217df76127dr6217712d6721dr716rd671r672d"

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