我們在檢驗使用者名稱是否合法的sql語句是這樣的
select * from my_user where user='$id' and pwd=$pwd;
如果我們輸入的是『or 1 #,此時的sql語句變成了
select * from my_user where user='' or 1 # and pwd=$pwd;
這樣一來,#後面為注釋就不解析了?使用者名稱=' ' or 1 永遠為真
所以 我們引入來sql注入方法,考慮到前台home也使用,所以在基礎控制器中新增方法
/** * 對使用者安全資料進行過濾
*/protected
function filteruser($str
)
控制在接收的時候
//效驗登入
public
function
checkaction()
//去資料庫驗證資料有效性
$model=factory::m('adminmodel');
if($row = $model->check($admin,$pwd))
else
}
防止SQL注入
1.什麼是sql注入 所謂sql注入,就是通過把sql命令插入到web表單遞交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。通過遞交引數構造巧妙的sql語句,從而成功獲取想要的資料。2.sql注入的種類 從具體而言,sql注入可分為五大類,分別是 數字型注入 字元型注入...
防止SQL注入
最近看到很多人的 都被注入js,被iframe之類的。非常多。本人曾接手過乙個比較大的 被人家入侵了,要我收拾殘局。1.首先我會檢查一下伺服器配置,重新配置一次伺服器安全,可以參考 2.其次,用麥咖啡自定義策略,即使 程式有漏洞,別人也很難在檔案上寫入 了。參考自定義策略,有了這個策略,再爛的程式,...
防止Sql注入
防不勝防 可以肯定的說,過濾不是辦法,而且效率很低 過濾的目的主要是提供反饋資訊,必須前後臺都要做 但是,有很多辦法可以繞過 致命的單引號 能做的事情按重要性大致如下 1。資料庫訪問用預定義會話 preparedstatement 從根本上防止sql截斷 2。後台過濾 為輸入的資訊提供反饋資訊,只要...