在这段代码中
UPDATE table SET field = MD5('{$_POST['variable']}') WHERE id = 1;
既然更新后的值是 md5 的,我还应该采取措施来防止注入(inject)吗?像 addslashes() 或类似的东西?
最佳答案
您没有将 MD5 哈希传递给 SQL 查询,您传递的是纯文本,MySQL 稍后将对其进行哈希处理。所以是的,你应该采取措施来防止 SQL 注入(inject)。或者更好的是,在 PHP 中对其进行哈希处理,然后在查询中使用哈希。
如果您对密码进行哈希处理,则 MD5 被认为是弱密码。 Use bcrypt instead .
关于php - 在 MySQL 中执行 md5 时安全转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20076854/