真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

php防sql注入的方法

這篇文章主要介紹了php防sql注入的方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

德欽網站制作公司哪家好,找創(chuàng)新互聯公司!從網頁設計、網站建設、微信開發(fā)、APP開發(fā)、成都響應式網站建設等網站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯公司從2013年創(chuàng)立到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創(chuàng)新互聯公司

SQL注入(SQLi)是一種注入攻擊,,可以執(zhí)行惡意SQL語句。它通過將任意SQL代碼插入數據庫查詢,使攻擊者能夠完全控制Web應用程序后面的數據庫服務器。

攻擊者可以使用SQL注入漏洞繞過應用程序安全措施;可以繞過網頁或Web應用程序的身份驗證和授權,并檢索整個SQL數據庫的內容;還可以使用SQL注入來添加,修改和刪除數據庫中的記錄。

php如何防sql注入?

1、什么時候最易受到SQL注入攻擊

當應用程序使用輸入內容來構造動態(tài)SQL語句,以訪問數據庫時會發(fā)生SQL注入攻擊

2、如何防止SQL注入

a、永遠不要相信用戶的輸入,對用戶輸入進行校驗,可以通過正則表達式,或限制長度,對單引號和“_”進行轉換

不建議使用:

//$user = htmlspecialchars(addslashes($user));
 //$pwd = htmlspecialchars(addslashes($pwd));
 //$yzm = htmlspecialchars(addslashes($yzm));

應使用:

$user = htmlspecialchars(addslashes($user));
$pwd = htmlspecialchars(addslashes($pwd));
$yzm = htmlspecialchars(addslashes($yzm));

b、永遠不要使用動態(tài)拼裝SQL,可以使用參數化的SQL或者直接使用存儲過程進行數據查詢存取

不建議使用:

// $sql = "select * from user where user='$user' and pwd ='$pwd'";

應使用:

$sql = "select * from user where user=? and pwd =?";

c、永遠不要使用管理員權限的數據庫連接,為每個應用使用單獨的權限有限的數據連接

$conn = @new MySQLi('localhost','root','','myschool');
if($conn->connect_error){
die('連接數據庫失敗');
}
 
$conn->set_charset('utf8');

d、不要把機密的信息直接存放,加密或者HASH掉密碼和敏感的信息

e、QL注入的檢測方法一般是采取輔助軟件或網站平臺檢測,軟件一般采取SQL注入檢測工具jsky,網站平臺就有億思,網站平臺檢測工具

3、php mysqli擴展之預處理

在mysqli操作中常常涉及到它的三個主要類:MYSQLI類,MYSQL_STMT類,MYSQLI_RESULT類,預處理主要利用MYSQL_STMT類完成的。

預處理是一種重要的防止SQL注入的手段,對提高網站安全性有重要意義,預處理語句的工作原理:

(1)預處理:創(chuàng)建SQL語句模板并發(fā)送到數據庫,預留的值使用參數?標記。

例:insert into myguests(firstname,lastname,email) values (?,?,?)

(2)數據庫分析,編譯,對SQL語句模板執(zhí)行查詢優(yōu)化,并存儲結果不輸出

if ($stmt = $conn->prepare($sql)) {
 
$stmt -> bind_param("ss",$user,$pwd);
$stmt -> execute();
$stmt -> store_result();
    //$res = $conn ->query($sql);
  if ($stmt->num_rows==0) {
show_error('輸入的用戶名或密碼錯誤','demo1.html');
   }
   $stmt -> close();
}
$conn ->close();

(3)執(zhí)行,最后,將應用綁定的值傳遞給參數(“?”標記),數據庫執(zhí)行語句,應用可以多次執(zhí)行語句,如果參數的值不一樣

感謝你能夠認真閱讀完這篇文章,希望小編分享php防sql注入的方法內容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯,關注創(chuàng)新互聯行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯,詳細的解決方法等著你來學習!


網站欄目:php防sql注入的方法
轉載來于:http://weahome.cn/article/iiddhd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部