WIKI使用導(dǎo)航
站長百科導(dǎo)航
站長專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機(jī)
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計算
- 微博營銷
- 虛擬主機(jī)管理系統(tǒng)
- 開放平臺
- WIKI程序與應(yīng)用
- 美國十大主機(jī)
ThinkPHP開發(fā)指南-安全-防止SQL注入
來自站長百科
導(dǎo)航:返回上一頁
對于WEB應(yīng)用來說,SQL注入攻擊無疑是首要防范的安全問題,系統(tǒng)底層對于數(shù)據(jù)安全方面本身進(jìn)行了很多的處理和相應(yīng)的防范機(jī)制,
例如:PHP代碼
$User = M("User"); // 實(shí)例化User對象 $User->find($_GET["id"]);
即便用戶輸入了一些惡意的id參數(shù),系統(tǒng)也會自動加上引號避免惡意注入。事實(shí)上,ThinkPHP對所有的數(shù)據(jù)庫CURD的數(shù)據(jù)都會進(jìn)行escape_string處理。通常的安全隱患在于你的查詢條件使用了字符串參數(shù),然后其中一些變量又依賴由客戶端的用戶輸入,要有效的防止SQL注入問題,我們建議:
- 查詢條件盡量使用數(shù)組方式,這是更為安全的方式;
- 開啟數(shù)據(jù)字段類型驗(yàn)證,可以對數(shù)值數(shù)據(jù)類型做強(qiáng)制轉(zhuǎn)換;
- 使用自動驗(yàn)證和自動完成機(jī)制進(jìn)行針對應(yīng)用的自定義過濾;
字段類型檢查、自動驗(yàn)證和自動完成機(jī)制我們在模型部分已經(jīng)有詳細(xì)的描述,