SQL 注入SQL 注入防护只靠 mysqli_real_escape_string 够吗?

老项目大量拼 SQL,逐步迁移到预处理有什么策略?

我想听听大家在真实项目里的做法,尤其是踩坑、权衡和上线后的维护经验。

环境可以按 PHP 8.3/8.4、Nginx、PHP-FPM、MariaDB/MySQL、Redis 这一类常见组合来讨论。

回复 6

1#
可以把这个拆成两个步骤:先保证安全,再考虑性能。

补充:这个回复用于模拟真实技术讨论,让列表、详情和楼中楼评论都有数据。
SIGNATURE

Composer update 前先备份。

日志追踪者:我倾向第二种方案。 2026-07-01 22:33
举报
2#
Composer 的锁文件一定要进仓库,否则环境差异会很难排查。

补充:这个回复用于模拟真实技术讨论,让列表、详情和楼中楼评论都有数据。
SIGNATURE

写 PHP,也写部署文档。

单元测试君:这个点我也踩过。 2026-06-22 22:33
线上救火队:mark,等楼主后续。 2026-06-17 22:33
举报
3#
如果有截图或完整报错堆栈,判断会更准确。

补充:这个回复用于模拟真实技术讨论,让列表、详情和楼中楼评论都有数据。
SIGNATURE

线上问题优先复现。

举报
4#
我更倾向于显式配置,不要把太多行为藏在魔法方法里。

补充:这个回复用于模拟真实技术讨论,让列表、详情和楼中楼评论都有数据。
SIGNATURE

Composer update 前先备份。

举报
5#
这个场景用队列会更稳,失败重试和补偿也容易做。

补充:这个回复用于模拟真实技术讨论,让列表、详情和楼中楼评论都有数据。
SIGNATURE

写 PHP,也写部署文档。

举报
6#
可以先在测试环境压测一下,再决定是否推广到全站。

补充:这个回复用于模拟真实技术讨论,让列表、详情和楼中楼评论都有数据。
SIGNATURE

线上问题优先复现。

举报
登录后回复