Php 在字符串中检测多个mysql\u real\u escape\u字符串?

Php 在字符串中检测多个mysql\u real\u escape\u字符串?,php,mysql-real-escape-string,Php,Mysql Real Escape String,我正在处理一个有多个SQL注入风险的旧系统。为了防止这个问题的发生,我想退出所有的$\u POST和$\u GET数据。问题是脚本本身也会逃逸。现在我想知道是否有可能检测到字符串是否已经转义 我们也欢迎任何其他解决方案 谢谢 太糟糕了,你无论如何都得不到保护。 因为,尽管php的人们普遍不相信 逃跑!=保护 事实上,您将要实现一个与臭名昭著的magic_quotes功能相当的自制功能,该功能被证明对防止注射无效 因此,您的一些数据最终将被双重转义,而其他数据即使转义也仍然不安全(因为转义!=安全

我正在处理一个有多个SQL注入风险的旧系统。为了防止这个问题的发生,我想退出所有的
$\u POST
$\u GET
数据。问题是脚本本身也会逃逸。现在我想知道是否有可能检测到字符串是否已经转义

我们也欢迎任何其他解决方案


谢谢

太糟糕了,你无论如何都得不到保护。
因为,尽管php的人们普遍不相信

逃跑!=保护 事实上,您将要实现一个与臭名昭著的
magic_quotes
功能相当的自制功能,该功能被证明对防止注射无效

因此,您的一些数据最终将被双重转义,而其他数据即使转义也仍然不安全(因为转义!=安全)

不幸的是,这种“魔杖”式的解决方案永远不会奏效。
您必须重构代码,保护某些查询。这是唯一的办法


记住——逃跑不是保护的同义词。这只是

的一部分,简单的答案是在脚本中查找/删除所有
mysql\u real\u escape\u string()
array\u map()
如果您在任何地方
echo$\u获得['something']
的话,您可能会得到奇数输出。正确的方法是找到
mysql\u query()
的所有实例,并确保它们正确转义。这可能很费时,但从长远来看,它将避免头痛。更妙的是,把它移植到PDO上。确切地说。这些人想逃跑十次,只是为了安全:)