register_globals = off
magic_quotes_gpc = 1设置这两个参数就可以了

解决方案 »

  1.   

    首先你要搞清楚sql注入漏洞的原理,就是没有过滤"'"之类的东西,主要是针对用户提交的URL数据,如果没有过滤,将url加上xxxx.php?op=add&xxxxsegname=0%20union%20select%100这样类似的东西,以达到修改datebase,攻击网站的目的。一般做php的话多用post或对登录什么的过滤一下也就够了,好象没有asp那么严重日
      

  2.   

    就楼上的问题addslashes在stripslashes
      

  3.   

    http://www.77169.com/Article/Class5/Class12/Class20/200409/11798.htmlmysql 注入 。 漏洞丝毫不比 MSSQL 少......
      

  4.   

    在底层转义。基本上可以解决这个问题。感觉好像asp好不安全,似乎从来没有解决过这个漏洞?php就好。
      

  5.   

    一般只要用 addslashes 和 htmlspecialchars 处理一下。
    然后对 ' 的 进制检测一下就不会啥问题。除非你的服务器不安全
      

  6.   

    数字参数判断是不是数字is_numeric,非数字限制一下长度,php会自动将'替换为''(除非magic_quotes_gpc = 0),再做一些替换:
    function trimall($str)
    {
    $str=stripslashes($str);
    $str=str_replace(chr(32),"",$str);
    $str=str_replace(chr(9),"",$str);
    $str=str_replace(chr(10),"",$str);
    $str=str_replace(chr(13),"",$str);
    $str=str_replace(chr(0),"",$str);
    $str=str_replace(chr(11),"",$str);
    return $str;
    }
    其它不必要再考虑。
      

  7.   

    已经看过了,最后总结就是intval()和addslashes()两个函数就搞定了呗?
    看了网上很多关于asp防注入的文章,觉得怪怕的,现在稍微宽了一点心。
      

  8.   

    这个比较详细
    SQL Injection with MySQL
    http://ww2.7747.net/Article/hack/wxia/200411/1791.html