这样会被注入吗?
不太懂SQL安全的问题,每次都是这样用的。
是不是会被注入啊?
怎么样才可以防止?

解决方案 »

  1.   

    SQL注入可以从MySQL数据库入手,配置MySQL客户端数据为二进制。:
    mysql_query(”SET character_set_client=binary”);然后要在数据执行query前做:
    mysql_real_escape_string的处理。这样就应该行了。一般不管SQL语句的事情,SQL语句不是注入的问题所在。
      

  2.   

    使用mysql_query(”SET character_set_client=binary”);插入的数据会不会变成另外的,比如自动增加反斜杠之类的。那输出的就会不太好除了了,还要还原啊~还是不太明白。
      

  3.   

    $_POST['vv'] = "a'),(null,'b'),(null,'c'),(null,'d'),(null,'e";//假设用户模拟了100万条数据
    $sql = "INSERT tb(`id`,`v`)values(null,'".$_POST['vv']."')";
    echo $sql;
      

  4.   

    会补注入的可能INSERT tb(`id`,`v`)values(null,'".');delete from tb;select '."')$_POST['vv'] 只要等于兰色部分即可。