数据库查询安全加固
xiaobai 18小时前

2026-06-06 数据库查询安全加固

本次对数据库封装层做低风险安全加固,降低后续二次开发引入 SQL 注入的概率。

主要改动:

  1. 数据库标识符白名单校验
  • 文件:xiunophp/db.func.php
  • 新增表名、字段名、列选择、条件操作符校验。
  • 表名/字段名仅允许字母、数字、下划线,且必须以字母或下划线开头。
  • 条件操作符限制为 ><>=<=<>!=LIKE
  1. 查询构造函数加固
  • 文件:xiunophp/db.func.php
  • 加固 db_insert()db_replace()db_update()db_delete()db_read()db_find()db_find_one()db_count()db_maxid()db_truncate()
  • 当表名、字段名、排序字段或操作符非法时,直接返回 FALSE,不再拼接 SQL。
  1. MySQL / PDO 查询列名加固
  • 文件:xiunophp/db_mysql.class.php
  • 文件:xiunophp/db_pdo_mysql.class.php
  • find() / find_one() 的列选择由直接 implode() 改为安全字段引用。
  • 条件和排序构造失败时,不再继续执行 SQL。
  1. 浏览量更新参数整数化
  • 文件:model/thread.func.php
  • thread_inc_views() 中对 tid 和增量 n 做整数化和有效性检查。

影响说明:

  • 不改变现有正常数据表和字段命名方式。
  • 对使用非法动态字段名、非法排序字段、非法操作符的二次开发代码会返回 FALSE,避免危险 SQL 被执行。
  • 不影响新安装流程,无需数据库结构变更。

    欢迎大家加入QQ交流群:785017513

相关帖子
最新回复 (0)
全部楼主
返回
xiaobai
二级用户组
27
主题数
4
帖子数
扫码访问