DaoKeCMS插件开发中常见的SQL注入坑:
将用户输入直接拼接进SQL字符串,导致SQL注入漏洞。
// 错误!SQL注入
$keyword = get('keyword', '');
$sql = "SELECT * FROM article WHERE title LIKE '%" . $keyword . "%'";
$rows = DB::rows($sql);
// 正确!预处理参数
$keyword = get('keyword', '');
$sql = 'SELECT * FROM `' . DB_PREFIX . 'article` WHERE title LIKE ?';
$rows = DB::rows($sql, ['%' . $keyword . '%']);