将HTTP GET与HTTP POST进行比较时,从安全角度来看有什么区别?这些选择之一在本质上比其他选择更安全吗?如果是这样,为什么?
我意识到POST不会在URL上公开信息,但是其中有什么真正的价值,还是仅仅是通过隐蔽性实现安全性?当出于安全考虑时,是否有理由我应该选择POST?
编辑: 通过HTTPS,对POST数据进行了编码,但是URL是否可以被第三方监听?另外,我正在处理JSP;当使用JSP或类似框架时,可以公平地说,最佳实践是避免将敏感数据完全放在POST或GET中,而使用服务器端代码来处理敏感信息吗?
就安全性而言,它们本质上是相同的。的确,POST不会通过URL公开信息,但是它在客户机与服务器之间的实际网络通信中公开的信息与GET一样多。如果您需要传递敏感信息,那么第一道防线就是使用安全HTTP传递信息。
GET或查询字符串文章确实非常适合为特定项目添加书签或协助搜索引擎优化和索引项目所需的信息。
POST适用于用于提交一次数据的标准表格。我不会使用GET来发布实际的表单,除非您可能希望在搜索表单中允许用户将查询保存在书签中或类似内容中,否则我不会使用GET。