SQL注入防护需运维侧切断攻击链路清空psql/mysql历史文件、限制pg_stat_statements缓存、关闭MySQL日志。SQL注入防护不能只靠参数化运维侧必须切断攻击链路参数化查询只能防应用层拼接漏洞但攻击者可能绕过应用直接连数据库比如用DBA账号、或通过日志/备份/中间件残留凭证此时清理缓存和历史记录就是最后一道闸门。psql 和 mysql 历史命令文件必须定期清空交互式客户端会把完整SQL含明文密码、敏感条件记入本地历史运维人员切库时若复用旧会话极易泄露语句模板。这不是“要不要清”而是“不清就等于留后门”。~/.psql_history 和 ~/.mysql_history 每次退出数据库前执行 rm -f ~/.psql_history ~/.mysql_history更稳妥的做法是启动时禁用运行 psql -X-X 跳过读取 .psqlrc避免自动加载历史mysql --no-defaults -e SELECT 1 避免触发配置中可能存在的历史开关注意Linux 的 history 命令不记录 psql 内部语句但 .psql_history 是独立文件别混淆PostgreSQL 的 pg_stat_statements 缓存需限制保留时间这个扩展默认长期累积所有执行过的 SQL 文本包括带参数值的完整语句如 WHERE name admin OR 11攻击者一旦拿到只读账号就能直接查出历史注入痕迹甚至业务逻辑。 跃问 跃问是由阶跃星辰开发的免费AI智能问答助手随时帮你智能搜索、高效阅读、识图理解、和你畅聊感兴趣的话题。