HTTP POST的安全性如何?

Mat*_*att 64 security post xmlhttprequest httpwebrequest

POST是否足够安全以发送登录凭据?

或者是必须的SSL连接?

Gum*_*mbo 76

SSL是必须的.POST不比GET更安全,因为它也发送未加密.SSL将覆盖整个HTTP通信并加密客户端和服务器之间的HTTP数据发送.

  • 是的,因为人们对My Little Pony粉丝论坛及其银行账户使用相同的密码. (124认同)
  • ponygirl88想要一个帐户,妈妈为她创建了它.妈妈使用了她用于投资帐户的相同用户名和密码.MLP Developer忘记要求通过SSL进行身份验证.妈妈失去了所有的钱,现在ponygirl88无法上大学.只需使用SSL. (62认同)
  • @mgb:租了吗?你在开玩笑吧.如果你没有完全拥有铜,你怎么能确定它是安全的?! (13认同)
  • 这不是讽刺.我不确定你为什么会这么认为.这是一个很大的问题; 大多数程序员甚至都没有把握这个问题,对于那些期望"正常"的人担心它的人来说,这是不合理的. (12认同)
  • 必须的?对于My Little Pony粉丝论坛?是雷鸟屏蔽终端,还需要量子加密和经过测试的租用线路吗? (6认同)
  • @erickson:我知道那应该是讽刺的,但是人们确实使用相同的密码 - 所有东西 - 他们甚至无法记住这一点. (2认同)

Jas*_*ker 40

<shameless plug>我有一篇博客文章详细说明了HTTP请求的样子以及GET请求与POST请求的比较.为了简洁起见,GET:

GET /?page=123 HTTP/1.1 CRLF
Host: jasonmbaker.wordpress.com CRLF
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; en-us) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1 CRLF
Connection: close CRLF
Run Code Online (Sandbox Code Playgroud)

和POST:

POST / HTTP/1.1 CRLF
Host: jasonmbaker.wordpress.com CRLF
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; en-us) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1 CRLF
Connection: close CRLF
CRLF
page=123
Run Code Online (Sandbox Code Playgroud)

(CRLF只是换行符)

正如您所看到的,从如何形成请求的角度来看,唯一的区别是POST请求使用单词POST,表单数据在请求正文和URI中发送.因此,使用HTTP POST是默默无闻的安全性.如果要保护数据,则应使用SSL.

*请注意,其他方面的差异.

  • @Blundell你编译你的XML? (19认同)
  • 你没有关闭你的无耻插件标签,编译错误 (18认同)
  • +1用于提供POST不再安全的可视化. (7认同)

Mar*_*ett 8

这取决于你的情况,截取证书需要花多少钱?

如果只是登录软件Q + A网站,则可能不需要SSL,如果它是在线银行网站,或者您存储信用卡数据,那么它就是.
这是一项业务,而非技术决策.

  • 由于人们重复使用密码而被低估了. (12认同)
  • 如果您正在收听流量以获取凭据,则可以看到用户访问的任何网站.SSL不会隐藏地址,只隐藏数据 (2认同)

use*_*546 6

HTTP POST未加密,它可以被网络嗅探器,代理拦截或泄漏到具有自定义日志记录级别的服务器日志中.是的,POST比GET更好,因为POST数据通常不会被代理或服务器记录,但它不安全.要保护密码或其他机密数据,您必须在POST之前使用SSL或加密数据.另一种选择是在浏览器中使用摘要式身份验证(请参阅RFC 2617).请记住,(本地增加的)加密不足以防止重放攻击,您必须在加密之前连接随机数和其他数据(例如,领域)(请参阅RFC 2617,了解如何在摘要验证中完成).


Ken*_*isa 5

SSL是必须的:)

HTTP Post以纯文本形式传输.例如,下载并使用Fiddler来监视HTTP流量.您可以轻松地在那里看到整个帖子(或通过像WireShark这样的网络流量监控器)


dri*_*iis 5

这是不安全的。POST 可以像 GET 一样容易地被嗅探。