如题 ,谢谢!!!!!

解决方案 »

  1.   

    是不是要防止sql注入,我有一个类.在csdn下载中搜一下!
      

  2.   

    <?php
    $_POST = sql_injection($_POST);
    $_GET = sql_injection($_GET);print_r($_GET);
    echo("<br />" . $_GET["a"] . "---" . $_GET["b"]);如果我在地址栏输入:http://localhost/test_study/delsql.php?a='1execute1&b=and2
    则返回
    Array ( [a] => \'11 [b] => 2 ) 
    \'11---2 
    ★★★★★★★★★★★★★
    以下是两个过滤SQL特殊字符串的函数,双重保险
    第一个是利用系统函数
    第二个是自写的
    ★★★★★★★★★★★★★

    function sql_injection($content)
    {
    //判断magic_quotes_gpc是否开启,如果开启就不要转义
    if (!get_magic_quotes_gpc())
    {
    if (is_array($content))
    {
    foreach ($content as $key=>$value)
    {
    $content[$key] = dowith_sql($content[$key]);
    $content[$key] = addslashes($value);
    }
    }
    else
    {
    $content[$key] = dowith_sql($content[$key]);
    addslashes($content);
    }
    }
    return dowith_sql($content);
    //return $content;
    }function dowith_sql($str)
    {
       $str = str_replace("and","",$str);
       $str = str_replace("execute","",$str);
       $str = str_replace("update","",$str);
       $str = str_replace("count","",$str);
       $str = str_replace("chr","",$str);
       $str = str_replace("mid","",$str);
       $str = str_replace("master","",$str);
       $str = str_replace("truncate","",$str);
       $str = str_replace("char","",$str);
       $str = str_replace("declare","",$str);
       $str = str_replace("select","",$str);
       $str = str_replace("create","",$str);
       $str = str_replace("delete","",$str);
       $str = str_replace("insert","",$str);
       //$str = str_replace("'","",$str);
       $str = str_replace("\"","",$str);
       $str = str_replace(" ","",$str);
       $str = str_replace("or","",$str);
       $str = str_replace("=","",$str);
       $str = str_replace("%20","",$str);
       return $str;
    }
    ?> 
      

  3.   

    建议使用PDO, PHP5以上版本支持.