更新時間:2017-08-31 來源:黑馬程序員PHP培訓(xùn)學(xué)院 瀏覽量:
php中一些安全性防止問題建義。只要我們作好了各類操作就可在基本防止一些朋友利用網(wǎng)站本身的漏洞進(jìn)行網(wǎng)站操作了,很多在php中都有的如XSS用htmlentities()預(yù)防XSS攻擊還
1、 驗證用戶輸入的任何數(shù)據(jù),保證PHP代碼的安全
這里有一個技巧就是使用白名單,所謂白名單就是說:我們要求用戶的數(shù)據(jù)應(yīng)該是這樣的,例如我們要求用戶的輸入是一個數(shù)字,我們就只檢驗這個值是否是一個數(shù)字就行了,而不必檢驗他到底是什么——其實他有可能是個惡意腳本。
對于這個檢驗我們不能只在客戶端的javascript進(jìn)行,戰(zhàn)地認(rèn)為JS只是為了提高來訪用戶的體驗而產(chǎn)生的,而不是驗證的工具。因為任何一個來訪的用戶都可能會,也有可能無意間就禁用了客戶端腳本的執(zhí)行,從而跳過這層驗證。所以我們必須在PHP的服務(wù)器端程序上檢驗這些數(shù)據(jù)。
2、 保護(hù)數(shù)據(jù)庫的安全——對即將運行于數(shù)據(jù)庫的Sql語句進(jìn)行安全性預(yù)處理。
任何時候都要對執(zhí)行前的Mysql語句,進(jìn)行mysql_real_escape_string操作——該函數(shù)的用法請參考PHP手冊。諸多PHP的數(shù)據(jù)庫抽象層例如ADODB都提供了類似的方法。
3、 不要依賴不該依賴的PHP設(shè)置——環(huán)境有時候不可靠
不依賴,magic_quotes_gpc=On,在程序編制的過程,盡量關(guān)閉這個配置選項,任何時候判斷這個選項后再對用戶輸入的數(shù)據(jù)進(jìn)行處理。切記——PHP v6 中將會刪除這個選項。盡量在合適的時候使用addcslashes 系列函數(shù)——請參考手冊
本文版權(quán)歸黑馬程序員PHP培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處,謝謝!