我只是浏览一些代码并确保所有用户输入都是通过 mysql_real_escape_string() 运行的,以防止 SQL 注入(inject)。对于通过 PHP 的 md5() 函数运行的密码输入,还需要 mysql_real_escape_string(0 吗?编码过程似乎可以消除潜在的注入(inject)攻击。
最佳答案
事实上,既是又不是。
如果将 md5()
的第二个参数设置为true
——生成原始 md5 哈希值。
否则,从 md5($password)
等返回的唯一数据将是与此正则表达式 /[a-z0-9]{32}/i 匹配的字符串哈希
——不需要进行转义。
这些人解释了他们为什么以及如何利用原始 md5 哈希值:
关于php - md5() 仍需要 mysql_real_escape_string() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6931016/