0

我正在使用具有多个 SQL 注入风险的旧系统。为了一起防止这个问题,我想转义所有$_POST数据$_GET。问题是脚本本身也会转义。现在我想知道是否有可能检测一个字符串是否已经被转义。

也欢迎任何其他解决方案。

谢谢!

4

1 回答 1

2

太糟糕了,无论如何你都得不到保护。
因为,尽管 php 人普遍存在误解,

逃避!=保护

事实上,您即将实现一个与臭名昭著的功能等效的自制magic_quotes功能,该功能被证明无法有效防止注射。

因此,尽管转义,您最终会得到一些数据双重转义,而其他数据仍然不安全(因为转义!=安全)

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

请记住 - 转义不是保护的同义词。它只是整套规则的一部分

于 2012-04-24T11:12:45.160 回答