通过HTTPS POST表单值

时间:2011-01-30 22:00:21

标签: php encryption https hash

我对HTTPS很不熟悉,但我知道它是安全的,我想知道的是当用户登录表单上的详细信息时,是否将该表单中的变量(用户名,密码)发送到服务器加密?

我问这个问题,因为我正在使用表单记录人员,但我也使用MD5和SALT一起散列密码以进行验证。

此外,HTTPS的安全性是否足以阻止主机上运行的任何间谍软件拦截登录详细信息?

很抱歉在这篇文章中提出几个问题,但提前感谢您的回答。

6 个答案:

答案 0 :(得分:5)

  

我对HTTPS很不熟悉,但我知道它是安全的,我想知道的是当用户登录表单上的详细信息时,是否将该表单中的变量(用户名,密码)发送到服务器加密?

整个HTTP请求和响应都已加密。

但是,将主机名转换为IP地址的DNS查找不会是。

  

此外,HTTPS的安全性是否足以阻止主机上运行的任何间谍软件拦截登录详细信息?

没有。 HTTPS加密客户端和服务器之间的通信。它无法阻止客户端上的软件干扰请求或读取响应。这包括攻击者拦截表单请求并修改表单的可能性 - 因此表单也必须通过SSL发送。

答案 1 :(得分:3)

行。让我们稍微讨论一下这个问题并在这里介绍几件事。

首先:你说你知道HTTPS是“安全的”。让我们稍微确定一下。

HTTPS是一种加密机制,仅此而已,因此使用HTTPS本身并不能保证广泛意义上的“安全性”。如果您使用的是HTTPS,那么您所知道的是,从访问者的浏览器发送到您的服务器的任何信息都将通过加密的通信渠道发送,以防止Man-in-the-Middle Attacks

虽然这很重要,但在无法中使用加密/ HTTPS可以保护您免受其他任何其他潜在漏洞的攻击,包括损坏的身份验证机制,SQL注入,跨站点脚本(XSS)和许多其他人。

如果您对了解更多有关一般信息安全的信息感兴趣,我强烈建议您阅读Bruce Schneier Secrets and Lies,他是一位备受尊重的安全机构。这本书现在有点老了,但我认为它所包含的信息已经老化得很好。

第二:只是明确一点,使用HTTPS将不会保护您免受间谍软件等的攻击。请记住,HTTPS只能确保加密通信,但除此之外什么也不做。

第三:正如SLaks所说,MD5可能不再是最好的哈希算法了。虽然我不是任何方式的密码学专家,但如果您使用SHA1(加上强salt),我认为您仍然相当安全。据我所知,MD5在过去几年遭受了一些数学上的失败,这削弱了它的安全性。

如果您有兴趣了解网络安全的细节,我也强烈推荐The Web Application Hacker's Handbook,我认为这是该主题的优秀入门读物。

我希望这有用。

答案 2 :(得分:2)

在HTTPS请求中发送到服务器和从服务器发送的所有数据都是加密的 这包括URL,标题,POST数据和响应。

如果你的敌人在任一端点都运行了代码,那么他已经打败了你 你无能为力,无法做到这一点。

答案 3 :(得分:2)

HTTPs是一种协议,用于防止ISP和公共WIFI劫持者和其他情况下监视您和服务器之间发送的数据,它可能无法阻止服务器上的间谍软件读取它,发布数据使用SSL,您只需将action属性设置为完整的https://结束网址,假设您已经安装了SSL证书。

来自维基百科:

  

超文本传输​​协议安全   (HTTPS)是一个组合   超文本传输​​协议   SSL / TLS协议提供加密   沟通和安全   识别网络网络   服务器

关于MD5,我相信您MD5SALT技术的结合是相当安全的,它可以防止黑客在获得对您的数据库的访问权限时轻松找到热门密码。< / p>

答案 4 :(得分:1)

HTTPS对于双向流量肯定是安全的(假设您保持私钥安全)。间谍软件可能会破坏私钥,从而危及主机的HTTPS流量安全。

答案 5 :(得分:1)

HTTPS的目的是用于维护这三个基本的信息安全需求:

  • Confidentiality - 只有收件人才能阅读传送给他/她的邮件。
  • Integrity - 收件人可以检测传输的邮件是否被泄露。
  • Authenticity - 收件人可以验证传输的邮件是否来自发件人。

就是这样。请注意,这仅适用于传输的消息。正在发送的内容以及发送方和接收方的数据发生的情况超出了范围,因为HTTPS仅保护传输通道。

特别是这意味着可能是例如

  • 发件人通过HTTPS保护的渠道发送恶意数据
  • 收件人通过HTTPS保护的渠道接收合理数据,但机器上有可以读取数据的间谍软件。

回答你的两个问题:

  

[...]当用户使用表单上的详细信息登录时,该表单中的变量(用户名,密码)是否已加密发送到服务器?

是的,如果您使用HTTPS进行传输,则客户端会对传输的数据进行加密,只有服务器才能对其进行解密。

  

此外,HTTPS的安全性是否足以阻止主机上运行的任何间谍软件拦截登录详细信息?

不,如前所述,HTTPS仅保护从发件人到收件人的数据传输。除此之外的任何事情都超出范围。