unset($_ENV,$HTTP_ENV_VARS,$_REQUEST,$HTTP_POST_VARS,$HTTP_GET_VARS,$HTTP_POST_FILES,$HTTP_COOKIE_VARS);
if(!get_magic_quotes_gpc()){
Add_S($_POST);
Add_S($_GET);
Add_S($_COOKIE);
if(!get_magic_quotes_gpc()){
Add_S($_POST);
Add_S($_GET);
Add_S($_COOKIE);
if(!get_magic_quotes_gpc()) 意思是 如果系统没有开get_magic_quotes_gpc函数权限即get_magic_quotes_gpc=off那么就 对所有$_POST 和 $_GET 和 $_COOKIE 的值的特殊符号加上反斜杠“\”
这个特殊符号是这些字符是单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)。
unset($_ENV,$HTTP_ENV_VARS,$_REQUEST,$HTTP_POST_VARS,$HTTP_GET_VARS,$HTTP_POST_FILES,$HTTP_COOKIE_VARS); //销毁变量,主要是出于安全考虑
if(!get_magic_quotes_gpc()){ //去得magic_quotes_gpc的值,判读是否开启自动加反斜杆
Add_S($_POST); //Add_S应该是自定函数,从这判断其作用应该是加反斜杆
Add_S($_GET);
Add_S($_COOKIE);
自然就突破了你下面的判断。
用了上面的过滤后就这样了:
select * from table where id='1\'or \'1=1' 单引号转义了,