在MySQL中使用md5时安全性逃逸

Kof*_*aus 2 php mysql security

在这段代码中

UPDATE table SET field = MD5('{$_POST['variable']}') WHERE id = 1;
Run Code Online (Sandbox Code Playgroud)

由于更新后的值是md5'ed,我是否还应采取措施防止注射?像addslashes()或类似的东西?

Hav*_*ard 5

您没有将MD5哈希传递给SQL查询,而是传递MySQL将在稍后哈希的纯文本.所以,是的,你应该采取措施防止SQL注入.或者甚至更好,在PHP中哈希,然后在查询中使用哈希.

如果您正在散列密码,则MD5被认为是弱的.请改用bcrypt.