Jam*_*esG 1 php md5 sql-injection
好,
因此,我对此不太确定。
我有一个网址参数username。
我有这句话
SELECT * FROM users WHERE user_hash = md5($_GET['username'])
这样安全吗?
创建帐户后,将存储用户名和密码的md5哈希版本。
我很困惑,因为这似乎很简单,如果md5停止sql注入,为什么用户名和密码不总是以哈希形式保存?
是的,这将避免SQL注入,因为md5()总是返回十六进制代码字符串。
但这不是SQL注入的通用解决方案。您将必须以MD5格式对表中的几乎所有数据进行编码。例如,
$sql = "UPDATE users SET fullname = '" . md5($_GET['fullname']) . "'
        WHERE id = '" . md5($_GET['id']) . "'";
但是MD5是单向哈希,因此将无法显示以这种方式存储的全名。
| 归档时间: | 
 | 
| 查看次数: | 2288 次 | 
| 最近记录: |