PHP防止sql注入

2021-07-25 01:40:58 字數 963 閱讀 4417

如果沒有防止sql注入,那麼你的**一些重要資訊就會被一些人輕易用特殊的字元登入而盜竊。

比如:

登入時的查詢語句為:select *from 表名 where username=』使用者名稱』 and password 『密碼』;

當使用者輸入使用者名為『or 1 or』,密碼不輸入,此時的查詢語句為: select *from 表名 where username=」or 1 or」 and password=」; 可見此時條件where語句username=」 or 1返回true,true or password=」其實始終為true,所以此時條件where語句始終為true,即使不輸入密碼也會登入成功。

由此可見,防止sql注入是一件十分必要的事情。

php中防止sql注入有多種方法,我分享我習慣用的三種:

利用php的 addslashes (需要轉義的字串),addslashes可轉義單引號,雙引號, 反斜槓,null字元

$ad_username=addslashes($username);

$ad_password=addslashes($password);

$sql="select *from 表名 where username='' and password=''";

利用mysql提供的mysql_real_escape_string(待轉換字串,資料庫連線資源)

自己寫乙個方法

/**

* 批量轉義

* @param data 需要轉義的字串或者陣列

* /function deepslashes($data)

return is_array($data)?$array_map('deepslashes',$data):addslashes($data);

}

php 防止sql注入

標題起的名字很大其實這裡只說乙個簡單的方法 防止sql注入的方法有很多,這裡要說的其實就是漏洞演練平台dvwa裡的一種方式 直接看high級別的就可以了 id get id id stripslashes id id mysql real escape string id if is numeric...

php防止sql注入

所謂sql注入,是由表單提交時,後台拼接 sql語句造成的。如此,會給系統帶來很大的破壞,甚至導致整個資料庫被清掉,或刪除。因此必須做好防注入操作。關於這個問題,成熟的方案有很多,現在總結如下 一,從根源上解決問題,也就是在接受表單提交時,要特別注意sql拼接處理可能帶來的影響,避免給黑客留下突破口...

php防止SQL注入

永遠不要相信使用者的輸入,為了防止黑客在我們的表單,get,header頭中輸入一些惡意的sql,為此,我們需要在後台進行執行sql 的時候進行對sql注入的預防 那麼首先來說一下什麼是sql注入 案例一 1 我們通過get來進行傳遞引數,查詢資料庫中goods表中id 1的資料,這樣的查詢是非常正...