PDO防注入的一點積累

爲何使用PDO

合理使用PDO能夠根本上杜絕sql注入php

一些參數配置

PDO::MYSQL_ATTR_INIT_COMMAND參數的意義是在查詢sql以前,先發送初始化命令:set names utf8mb4mysql

PDO::ATTR_EMULATE_PREPARES 表示是否使用本地模擬prepare,不要使用本地模擬,因此設置爲falsesql

最佳實踐:

設置ATTR_EMULATE_PREPARES爲false
設置PDO::MYSQL_ATTR_INIT_COMMAND爲true,pdo會默認使用set names utf8設置編碼
使用高版本的php(php7+)
使用高版本的mysql
使用合理的編碼,棄用GBK編碼,防止寬字符注入php7

相關文章
相關標籤/搜索