php - 在 MySQL 中执行 md5 时安全转义

标签 php mysql security

在这段代码中

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/

相关文章:

php - 为什么我的链接没有通过 php 电子邮件功能显示出来?

php - 无法打开流权限被拒绝

PHP 搜索/过滤功能

linux - 如何使用 fw1-loggrabber 监控多个设备

linux - 现代 Unix/Linux 系统上的密码是否仍限制为 8 个字符?

php - Doctrine SQL/表生成失败

php - 损坏的 MySQL 数据库 - 数据未在一张表的插入中存储或删除,但在更改该表名时代码有效

php - 我添加了 php 页面来连接到数据库,一旦提交,我就不会加载 php 页面。既不将数据存储到数据库也不显示

mysql - 如何将不同分类的多个文本框值存储到一张表中?

ios - 在 iOS 中使用公钥验证数字签名