本文章简单的利用一个实例来介绍了关于php防止sql注入的简单办法,有需要学习的朋友可以参考一下本文章哦。
方法一:密码比对
思路:首先通过用户输入的用户名去查询数据库,得到该用户名在数据库中对应的密码,再将从数据库中查询到的密码和用户提交过来的密码进行比对。
代码:
代码如下
|
复制代码
|
||||
$sql="select password from users where username='$name'"; $res=mysql_query($sql,$conn); if ($arr['password']==$pwd) {//密码比对 echo "登录成功";
| }else{
代码如下 | 复制代码 |
$name=$_GET['username']; $pwd=$_GET['password']; $sql="select * from users where username=? and password=?"; //1.创建一个pdo对象 $pdo=new PDO("mysql:host=localhost;port=3306;dbname=injection","root",""); //2.设置编码 $pdo->exec("set names 'utf8'"); //3.预处理$sql语句 $pdoStatement=$pdo->prepare($sql); //4.把接收到的用户名和密码填入 $pdoStatement->execute(array($name,$pwd)); //5.取出结果 $res=$pdoStatement->fetch(); if(empty($res)){ echo "用户名或密码输入有误"; }else{ echo "登录成功"; } |