我可以使用javascript 将输入到表单中的密码转换为md5哈希使用javascript将其发送到我的php验证页面吗?
如果是,怎么样?
或者有更简单的方法吗?
谢谢。
答案 0 :(得分:7)
关于密码处理有一些简单的规则:
为了安全地将密码从浏览器传输到您的服务器,使用SSL!如果您真的担心安全问题,请不要满足于此。
仅在服务器上执行密码哈希 。在客户端进行散列取决于JavaScript,但并不总是存在。
这看似显而易见,但您只能使用密码哈希函数来可靠地哈希密码,例如password_hash()
(自5.5以来随PHP提供)或通过{{ 3}}库。
答案 1 :(得分:2)
您不打算发送任何普通密码的意图绝对值得称道。但是,只需在客户端散列密码并发送散列而不是普通密码也无济于事。因为虽然它不是用于身份验证的普通密码,但它是现在使用的哈希。因此,窃听通信的攻击者只会使用哈希而不是普通密码。所以这没有多大帮助,更不用说客户端不会有JavaScript支持。
但是,值得一提的是,存在以这种方式工作的身份验证方案(例如HTTP Digest Access Authentication Scheme)。但是仍然需要一个安全且可信的通道,其中密码最初被发送到服务器。所以HTTPS仍然是必须的。
答案 2 :(得分:1)
无论如何你不应该这样做。
JavaScript可轻松 禁用 ,您将保存/操作普通密码。使用PHP代替。
答案 3 :(得分:1)
您需要将纯文本密码转换为仅使用PHP 的md5哈希。正如Sarfraz指出的那样,用户可以在浏览器中轻松禁用JavaScript,从而使md5进程无效。如果它们禁用JS,则可以在不加密的情况下将纯文本密码发送到数据库。
如果您担心数据传输安全性,请购买SSL证书以确保表单中的所有内容都通过HTTPS发送。
答案 4 :(得分:0)
您可以在那里提高应用程序的安全性。
这是PHP md5
函数http://phpjs.org/functions/md5