HTML保护密码字段

时间:2013-12-04 07:59:14

标签: javascript html ajax security passwords

我正在一个网站上工作,我想提供最安全的沟通,但我不能花太多钱。

关于以下内容:<input type='password' name='password'>

它们通常以传输协议的纯文本形式发送 我只是以每月1欧元的价格提供一些便宜的托管服务而且我无法“负担得起”(关于网站捐赠和安全的重要性)所有子域名的SSL证书,每月8,50欧元。

所以我现在想知道,有什么方法可以防止密码被发送为plain text?实际上它是以纯文本形式发送并不重要,除了浏览器和服务器之外其他任何人都不应该读取它,但我想这总是可以用纯文本进行。

我也在通过AJAX对输入字段进行实时服务器端验证,并且例如检查密码长度等。所以,即使有意义,我仍然可以访问这些数据。

如果需要,我可以访问HTML,JavaScript / JQuery,PHP,AJAX和更多语言。

1 个答案:

答案 0 :(得分:1)

如果您只需要加密来隐藏与窃听者的通信 - 您就不需要SSL。 我认为,SSL和证书的主要特征是身份验证:您的客户知道他们确实正在浏览您的网站(例如,不是某些钓鱼网站)。身份验证还有助于对抗中间人(MitM)攻击者。

如果要隐藏窃听者的密码,请发送一些公钥,然后发送使用此公钥加密的密码。至于你是唯一知道私钥的人,而且你的客户真的收到了你的公钥 - 这应该就足够了。

请注意,上述解决方案不适用于MitM:这样的攻击者只需将发送到客户端的公钥更改为自己的公钥,这样攻击者就可以解密加密的密码(因为他知道私有密码)新公钥的关键)。 如果您使用SSL,则客户端可以验证您的公钥是否真正属于您的公钥(由证书颁发机构签名)。

因此,我建议您搜索如何在JS中实现公钥操作。