string addslashes及mysql绑定参数防SQL注入攻击(2)

<?php $times = 0; $username = "aaa"; $pwd = "fdsafda' or '1'='1"; $sql = "SELECT * FROM table WHERE username = ? AND pwd = ?"; bindParam($sql, 1, $username, 'STRING'); //以字符串的形式.在第一个问号的地方绑定$username这个变量 bindParam($sql, 2, $pwd, 'STRING'); //以字符串的形式.在第二个问号的地方绑定$pwd这个变量 echo $sql; //输出 SELECT * FROM table WHERE username = 'aaa' AND pwd = 'fdsafda\' or \'1\'=\'1' ?>

可以看到.pwd内部的注入已经被转义.当成一个完整的字符串了..这样的话.就不可能被注入了.

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/72ddda0a15fe6ffc10ec08a82ef37cdc.html