addslashes或者mysql_real_escape_string都可以转义字段 防止注入

解决方案 »

  1.   


    请问,如果我用mysql数据库,只需mysql_real_escape_string,不进行其他操作就可以防止mysql注入吗?
      

  2.   

    用PDO连接吧,mysql_real_escape_string在新版本的PHP已经被摒弃了,addslashes根本不可靠。
      

  3.   

    我的意思是 对于这段代码 如何构建一个sql注入? 谢谢
      

  4.   


    -- 你的程序设计是这个样子的: 
    -- $id=“100”
    select ....from... where ID = '100' ; 
    -- SQL注入的结果是下面的样子:
    -- $id = "100' or '1' ='1"
    select .... from .... where ID ='100' or '1' ='1' 
      

  5.   

    <?php
    include "../admin/connss.php";
    $id=INTVAL($_GET[id]);
    $sql=mysql_query("select * from news where id='$id'");
    $row = mysql_fetch_array($sql);
    ?>