在安全方面,在查询字符串中发送用户名和密码与在正文中将其作为复杂对象发送是否有区别POST
?
我正在使用HTTPS
.
前任:
myservices.com/auth?username=myname&password=mypass
与从请求中获取 Stream 并将其反序列化为对象?
既然方法 isPOST
和 uses HTTPS
,这有关系吗?
这是个很大的差异。查询字符串是 URL 的一部分。它位于浏览器历史记录和纯文本地址栏中。有一些已知的攻击可以检查浏览器的历史记录。不要将敏感数据放在 URL 中。
我将在之前的答案中添加一件事。URL 也很可能最终出现在服务器访问日志中。因此,URL 中的敏感信息将以明文形式存储在服务器日志中(而不是仅在某处的数据库中加密/散列)。
通过 HTTPS 发送信息的方式为
"adaadnajdkbjkbdbk27y27672323gyu2gugsgjuguq2e2eh2t67878et27tshjdgjg32766t17te76tgeuyg1et617e67t281te8t128et71te56t1267e71dvdhj12d672d7f12fd712dgugvduv217df76127dr6217712d6721dr716rd671r672d"
无论 GET 或 POST 方法如何,唯一的区别是您的敏感数据将暴露在 URL 中。我不建议使用它,因为您的浏览器历史记录会存储您的敏感数据,这些数据可能会被黑客提取。