我正在处理一个具有多个SQL注入风险的旧系统。为了防止这个问题,我想转义所有$_POST
和$_GET
数据。问题是脚本本身也会转义。现在我想知道是否可以检测字符串是否已被转义。
也欢迎任何其他解决方案。
谢谢!
太糟糕了,无论如何你都不会得到任何保护。
因为,尽管 php 人员普遍不相信,
逃逸!=保护
事实上,您即将实现一个臭名昭著的magic_quotes
功能的自制等价物,该功能被证明在防止注射方面效率低下。
因此,您最终会得到一些数据双重转义,而其他数据尽管转义仍然不安全(因为转义!=安全)
不幸的是,这种"魔杖"式的解决方案永远不会奏效。
您必须重构代码,保护某些查询。这是唯一的办法。
请记住 - 逃逸不是保护的同义词。它只是整套规则的一部分