国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php安全,防止sql注入攻擊簡單方法

2024-05-04 21:58:49
字體:
來源:轉載
供稿:網友

方法一:密碼比對

思路:首先通過用戶輸入的用戶名去查詢數據庫,得到該用戶名在數據庫中對應的密碼,再將從數據庫中查詢到的密碼和用戶提交過來的密碼進行比對.

php實例代碼如下:

  1. $sql="select password from users where username='$name'"
  2.  
  3.      $res=mysql_query($sql,$conn); 
  4.  
  5.      if ($arr=mysql_fetch_assoc($res)){//如果用戶名存在 
  6.  
  7.             if ($arr['password']==$pwd) {//密碼比對 
  8.  
  9.                    echo "登錄成功"
  10.  
  11.      }else
  12.  
  13.             echo "密碼輸入有誤"
  14.  
  15.      } 
  16.  
  17.      }else { 
  18.  
  19.             echo "該用戶名不存在"
  20.  
  21.      } 

分析:該情況下,代碼健壯了不少,即使在magic_quote_gpc=Off的情況下,也能防止SQL注入攻擊,因為攻擊者想成功登錄的話,得繞過兩道坎,第一是輸入的用戶名要存在,這一步可以構造一個SQL語句(‘ or 1=1%23)直接繞過,但是這樣子無法通過第二道坎,因為需要用戶輸入一個正確的密碼才能通過,顯然,這已經拒絕了SQL注入攻擊.

方法二:使用PDO的PDO::prepare()預處理操作來防止SQL注入攻擊.

思路:創建一個pdo對象,利用pdo的預處理操作可以防止SQL注入攻擊.

php實例代碼如下:

  1. $name=$_GET['username']; 
  2.  
  3.        $pwd=$_GET['password'];    
  4.  
  5.        $sql="select * from users where username=? and password=?"
  6.  
  7.        //1.創建一個pdo對象 
  8.  
  9.        $pdo=new PDO("mysql:host=localhost;port=3306;dbname=injection","root",""); 
  10.  
  11.        //2.設置編碼 
  12.  
  13.        $pdo->exec("set names 'utf8'"); 
  14.  
  15.        //3.預處理$sql語句 
  16.  
  17.        $pdoStatement=$pdo->prepare($sql); 
  18.  
  19.        //4.把接收到的用戶名和密碼填入 
  20.  
  21.        $pdoStatement->execute(array($name,$pwd)); 
  22.  
  23.        //5.取出結果 
  24.  
  25.        $res=$pdoStatement->fetch(); 
  26.  
  27.        if(emptyempty($res)){ 
  28.        //開源代碼Vevb.com 
  29.               echo "用戶名或密碼輸入有誤"
  30.  
  31.        }else
  32.  
  33.               echo "登錄成功";         
  34.  
  35.        } 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 万安县| 株洲县| 宜川县| 莎车县| 靖边县| 清流县| 瑞安市| 汽车| 泰兴市| 远安县| 沈丘县| 杭锦旗| 武平县| 鄂伦春自治旗| 汉川市| 吉林省| 科尔| 武夷山市| 洱源县| 寿宁县| 菏泽市| 凤庆县| 波密县| 遵化市| 宁武县| 仙居县| 许昌市| 清远市| 新田县| 仪征市| 离岛区| 揭西县| 桦南县| 车险| 乡城县| 繁峙县| 湟源县| 耿马| 盐源县| 海伦市| 张掖市|