插件踩坑经验:SQL注入📅 2025-09-13  |  👁 698 次浏览

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 . '%']);
  • 禁止字符串拼接用户输入进SQL
  • 用?占位符+params数组预处理
  • DB::insert/update/delete已内置预处理
  • intval2()处理整数输入

芒阳网络团域cms开发中心

Copyright © 2023 刀客CMS内容管理系统