加密GET和POST数据有什么区别?谢谢答案
编辑:我需要更具体地写它.
当https-SSL加密这两种方法时,浏览器执行此操作的方式有何不同.哪些部分是加密的,哪些不是?我在某处读到,目标网址在POST中没有加密,是真的吗?如果它在GET中是真的并且相同,那么所有参数都在哪里?
编辑2:仍然不知道我的问题的答案.当两种方法都使用相同的数据加密时,嗅探时看起来是否相同?哪些部分是加密的,哪些不是?
Ben*_*n S 53
GET数据作为查询字符串附加到URL:
https://example.com/index.html?user=admin&password=whoops
Run Code Online (Sandbox Code Playgroud)
由于数据会附加到URL,因此您可以传输的数据量存在硬性限制.不同的浏览器有不同的限制,但你会开始遇到1KB-2KB标记的问题.
POST数据包含在HTTP请求的正文中,在URL中不可见.因此,您可以通过POST传输的数据量没有限制.
如果HTTP连接使用SSL/TLS,则GET参数也会加密,但可以显示在其他位置,例如Web服务器日志,并且浏览器插件和可能的其他应用程序也可以访问.POST数据已加密,不会以任何其他方式泄漏.
来自Google讨论:
HTTPS连接上的URL查询中包含的数据已加密.但是,在'GET'请求中包含密码等敏感数据是非常糟糕的做法.虽然无法拦截,但数据将记录在接收HTTPS服务器上的纯文本服务器日志中,很可能也会记录在浏览器历史记录中.它可能也可用于浏览器插件,甚至可能用于客户端计算机上的其他应用程序.
如果要安全地传输信息,请始终使用HTTPS通过HTTPS.
如果您使用加密库来加密数据,那么您可以使用GET或POST,但这将是一个额外的痛苦,您可能无法正确设置加密,所以我仍然建议通过HTTPS使用POST,而不是滚动你自己的加密设置.这个问题已经解决了,不要重新发明轮子.
您可能要考虑的另一个选项是使用安全cookie.设置了安全标志的cookie仅通过安全通道(如HTTPS)发送,并且不可嗅探.这是一种安全地保留信息的好方法,例如会话ID.
归档时间: |
|
查看次数: |
21933 次 |
最近记录: |