PDO防注入的一点积累

为什么使用PDO
合理使用PDO可以根本上杜绝sql注入
一些参数配置
PDO::MYSQL_ATTR_INIT_COMMAND参数的意义是在查询sql之前,先发送初始化命令:set names utf8mb4
PDO::ATTR_EMULATE_PREPARES 表示是否使用本地模拟prepare,不要使用本地模拟,所以设置为false
最佳实践:
设置ATTR_EMULATE_PREPARES为false设置PDO::MYSQL_ATTR_INIT_COMMAND为true,pdo会默认使用set names utf8设置编码使用高版本的php(php7+)使用高版本的mysql使用合理的编码,弃用GBK编码,防止宽字符注入

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理