我正在为一些与我合作的公司创建一个网站。它包括用户身份验证。数据库存储散列密码。
在某个页面上的某个时刻,用户应该能够通过弹出窗口登录。这需要对php文件的异步请求,该文件将使用密码请求数据库。
这引出了我的问题:在我的异步请求中发送密码之前,我应该使用Javascript来密码密码,以防止例如中间人攻击或类似的事情吗?我不知道该网站是否会使用HTTPS。
谢谢。
答案 0 :(得分:2)
发送散列密码并不会阻止任何人嗅探您的连接。 HTTP请求包含散列传递,由于请求本身未加密,因此清晰可读。
如果您想要避免此类内容,请使用HTTPS
答案 1 :(得分:2)
客户端哈希永远不能取代服务器端哈希。中间的一个人不仅可以使用"加密"密码直接作为新密码,他也可以去掉加密密码的JavaScript。更糟糕的是,他可以将真实密码的副本发送到另一台服务器,因此您甚至不会认识到这一变化。
网站的唯一选择是使用加密的HTTPS / SSL连接。在那里你可以发送密码明文,SSL负责安全传输。