我对HTTPS相当不熟悉,但我知道它是安全的,我想知道的是,当用户在表单上登录时,表单中的变量(用户名、密码)是否被加密?
我是这样问的,因为我正在使用一个表单让人们登录,但我也会将他们的密码与MD5和一个SALT一起散列以进行验证。
另外,HTTPS是否足够安全,可以防止主机上运行的任何间谍软件截获登录详细信息?
很抱歉在这篇文章中问了几个问题,但提前感谢您的回答。
发布于 2011-01-31 06:07:52
我对HTTPS不太熟悉,但我知道它是安全的,我想知道的是,当用户在表单上登录时,表单中的变量(用户名、密码)是否被加密?
整个HTTP请求和响应都是加密的。
然而,将主机名转换为IP地址的DNS查找将不是。
此外,
是否足够安全,可以防止主机上运行的任何间谍软件截获登录详细信息?
不是的。HTTPS对客户端和服务器之间的通信进行加密。它不能阻止客户端上的软件干扰请求或读取响应。这包括攻击者截获表单请求并对其进行修改的可能性-因此表单也必须通过SSL发送。
发布于 2011-01-31 06:21:01
好的。让我们将这个问题分解一下,并在这里讨论一些事情。
首先:你说你知道HTTPS是“安全的”。让我们对此稍加限定。
HTTPS是一种加密机制,仅此而已,因此使用HTTPS本身并不能保证更广泛意义上的“安全性”。如果您使用的是HTTPS,那么您所知道的就是,无论从访问者的浏览器发送到您的服务器的任何信息,都将通过加密的通信通道发送,例如防止Man-in-the-Middle Attacks攻击。
虽然这很重要,但在中使用加密/HTTPS不能保护您免受其他任何数量的潜在漏洞的影响,包括破坏的身份验证机制、注入、跨站点脚本(XSS)和许多其他漏洞。
如果您有兴趣了解更多关于信息安全的一般知识,我强烈建议您阅读Bruce Schneier的Secrets and Lies,他是一位备受尊敬的安全权威。这本书现在有点旧了,但在我看来,它包含的信息已经很陈旧了。
第二:明确地说,使用HTTPS在中不会保护你免受间谍软件等的攻击。记住,HTTPS只是确保加密的通信,但除此之外什么也做不了。
第三:正如SLaks所说,MD5可能不再是最好的散列算法。虽然我无论如何都不是密码学专家,但我认为如果你使用SHA1 (加上一个强大的salt ),你仍然是相当安全的。据我所知,MD5在过去几年中遭受了一些数学上的失败,这削弱了它的安全性。
如果你有兴趣学习网络安全的基本细节,我也强烈推荐The Web Application Hacker's Handbook,我认为它是这个主题的一个很好的入门读物。
我希望这对你有帮助。
发布于 2011-01-31 06:03:44
在HTTPS请求中向服务器发送和从服务器发送的所有数据都是加密的。
这包括URL、标头、POST数据和响应。
如果你的敌人有代码运行在任何一个端点上,他已经击败了你。
你对此无能为力,他不能打败它。
https://stackoverflow.com/questions/4845822
复制相似问题