防止SQL注入的方法

方法1⃣️addslashes();

$username=addslashes($_POST['username']);

方法2⃣️mysql_escape_string();

方法3⃣️开启魔术引号

方法4⃣️控制用户输入的数据,如:

使用intval防止sql注入,intval()可以把变量转成整数类型,适用于接收纯整数数据
  $id=intval($_GET['id']);

 

方法5⃣️用PDO对象的quote()方法控制用户输入的数据:

  会返回带引号的字符串,并通过反斜线转义来过滤字符串中的特殊字符

用法:  $username=$_POST(username);

     $username=$pdo->quote($username);

 

方法6⃣️用PDO对象的prepare()、excute()方法:

用法:

  命名占位符形式1⃣️:

      $username=$_POST(username);

      $passwd=$_POST(passwd);

      $sql="select * from users where username=:a and passwd=:b ;";

      $stmt=$pdo->prepare($sql);

      $stmt->execute(array(:a=>$username,:b=>$passwd));

  问号占位符形式2⃣️:

      $username=$_POST(username);

      $passwd=$_POST(passwd);

      $sql="select * from users where username=and passwd=? ;";

      $stmt=$pdo->prepare($sql);

      $stmt->execute(array($username,$passwd));

posted @ 2016-07-13 18:03  邀魂斩月  阅读(1573)  评论(0编辑  收藏  举报