没有绝对的东西。不要用安全性来开玩笑。还是从基本上写好先吧。

解决方案 »

  1.   

    我试过一些特殊的字符如 or 1=1之类及单引号,并没有突破这个.而且我私下认为这个不存在危险.
    还请有经验的前辈能否给出一个能够突破这个的特例.
      

  2.   

    if( !get_magic_quotes_gpc() )
    {
    if( is_array($_GET) )
    {
    while( list($k, $v) = each($_GET) )
    {
    if( is_array($_GET[$k]) )
    {
    while( list($k2, $v2) = each($_GET[$k]) )
    {
    $_GET[$k][$k2] = addslashes($v2);
    }
    @reset($_GET[$k]);
    }
    else
    {
    $_GET[$k] = addslashes($v);
    }
    }
    @reset($_GET);
    } if( is_array($_POST) )
    {
    while( list($k, $v) = each($_POST) )
    {
    if( is_array($_POST[$k]) )
    {
    while( list($k2, $v2) = each($_POST[$k]) )
    {
    $_POST[$k][$k2] = addslashes($v2);
    }
    @reset($_POST[$k]);
    }
    else
    {
    $_POST[$k] = addslashes($v);
    }
    }
    @reset($_POST);
    } if( is_array($_COOKIE) )
    {
    while( list($k, $v) = each($_COOKIE) )
    {
    if( is_array($_COOKIE[$k]) )
    {
    while( list($k2, $v2) = each($_COOKIE[$k]) )
    {
    $_COOKIE[$k][$k2] = addslashes($v2);
    }
    @reset($_COOKIE[$k]);
    }
    else
    {
    $_COOKIE[$k] = addslashes($v);
    }
    }
    @reset($_COOKIE);
    }
    }