HTTP POST有多安全?

POST是否足够安全地发送login凭据?

或者是一个必须的SSL连接?

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

<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 

和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 

(CRLF只是一个换行符)

正如您所看到的,从请求形成的angular度来看,唯一的区别就是POST请求使用POST这个词,表单数据在请求的主体中与URI发送。 因此,使用HTTP POST是安全的。 如果你想保护数据,你应该使用SSL。

*请注意,还有其他的区别 。

这取决于你的情况,截取证书花费多less钱?

如果只是login软件Q + A站点,那么SSL可能不是必需的,如果它是在线银行网站或者您存储信用卡数据,那么它是。
这不是一个技术性的决定。

HTTP POST没有被encryption,它可以被networking嗅探器,代理拦截,或者在服务器的日志中以自定义的日志级别泄露。 是的,POST比GET更好,因为POST数据通常不是由代理或服务器logging的,但是不安全 。 要保护密码或其他机密数据,您必须在开机前使用SSL或encryption数据。 另一个select是使用浏览器的摘要式身份validation(请参阅RFC 2617)。 请记住(本地)encryption不足以防止重放攻击,您必须在encryption之前将nonce和其他数据(例如realm)连接起来(请参阅RFC 2617了解如何在摘要身份validation中完成此操作)。

SSL是必须的:)

HTTP Post是以纯文本传输的。 例如,下载并使用Fiddler观看HTTPstream量。 你可以很容易地看到整个post(或者通过像WireShark这样的networkingstream量监视器)

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

不… POST是不够安全的。 SSL是必须的。

POST只能有效地隐藏查询string中的参数。 任何人都可以看到浏览器和终点之间的stream量。

最安全的方法是根本不发送证书。

如果您使用摘要身份validation ,那么SSL 不是必须的。

(注意:我并不是暗示通过HTTP进行摘要式身份validation始终比使用基于HTTPS的POST更安全)。

POST是明文。

一个安全的连接是必须的。

这就是为什么它被称为安全连接。

不,使用SSL。

使用POST,除非使用SSL,否则值仍然以纯文本forms提交。

HTTP GET和HTTP POST之间的唯一区别就是数据编码的方式。 在这两种情况下,它都以纯文本forms发送。

为了提供任何types的login证书的安全性,HTTPS是必须的。

您不需要昂贵的证书来提供HTTPS。 有很多供应商会颁发约20美元的基本证书。 更昂贵的包括身份validation,这更多地是电子商务网站所关心的问题。

单独的POST请求是不安全的,因为所有的数据都是纯文本的“旅行”。

您需要SSL,以确保安全。

如果使用未encryption的HTTP连接,POST数据将以纯文本forms发送。 如果这是足够安全取决于您的使用(提示:不是)。

如果服务器,客户端机器和它们之间的所有机器都是受控的,完全可信的networking的一部分,这可能是好的。

除了这些非常有限的情况之外(甚至有时甚至在其内),纯文本身份validation正在寻求麻烦。

请看这个伟大的文章:

防止恶意的POST请求

https://perishablepress.com/protect-post-requests/

取决于你在哪里使用它,以及你真正需要的安全性。

除非您使用代理服务器(TOR)或某人正在窃听您的电话,否则无法从您的家中获取您发送的POST数据。

但是,如果您担心有人使用无线安全networking进行login,那么ssl非常重要。

如果你是银行,你甚至不能冒这个风险。 如果你是一个login看到任务的techer,那么你应该没问题