首頁(yè)技術(shù)文章正文

PHP培訓(xùn)之php中一些安全性防止問(wèn)題建義(上)

更新時(shí)間:2017-08-31 來(lái)源:黑馬程序員PHP培訓(xùn)學(xué)院 瀏覽量:

php中一些安全性防止問(wèn)題建義。只要我們作好了各類操作就可在基本防止一些朋友利用網(wǎng)站本身的漏洞進(jìn)行網(wǎng)站操作了,很多在php中都有的如XSS用htmlentities()預(yù)防XSS攻擊還


1、 驗(yàn)證用戶輸入的任何數(shù)據(jù),保證PHP代碼的安全
這里有一個(gè)技巧就是使用白名單,所謂白名單就是說(shuō):我們要求用戶的數(shù)據(jù)應(yīng)該是這樣的,例如我們要求用戶的輸入是一個(gè)數(shù)字,我們就只檢驗(yàn)這個(gè)值是否是一個(gè)數(shù)字就行了,而不必檢驗(yàn)他到底是什么——其實(shí)他有可能是個(gè)惡意腳本。

對(duì)于這個(gè)檢驗(yàn)我們不能只在客戶端的javascript進(jìn)行,戰(zhàn)地認(rèn)為JS只是為了提高來(lái)訪用戶的體驗(yàn)而產(chǎn)生的,而不是驗(yàn)證的工具。因?yàn)槿魏我粋€(gè)來(lái)訪的用戶都可能會(huì),也有可能無(wú)意間就禁用了客戶端腳本的執(zhí)行,從而跳過(guò)這層驗(yàn)證。所以我們必須在PHP的服務(wù)器端程序上檢驗(yàn)這些數(shù)據(jù)。



2、 保護(hù)數(shù)據(jù)庫(kù)的安全——對(duì)即將運(yùn)行于數(shù)據(jù)庫(kù)的Sql語(yǔ)句進(jìn)行安全性預(yù)處理。
任何時(shí)候都要對(duì)執(zhí)行前的Mysql語(yǔ)句,進(jìn)行mysql_real_escape_string操作——該函數(shù)的用法請(qǐng)參考PHP手冊(cè)。諸多PHP的數(shù)據(jù)庫(kù)抽象層例如ADODB都提供了類似的方法。



3、 不要依賴不該依賴的PHP設(shè)置——環(huán)境有時(shí)候不可靠
不依賴,magic_quotes_gpc=On,在程序編制的過(guò)程,盡量關(guān)閉這個(gè)配置選項(xiàng),任何時(shí)候判斷這個(gè)選項(xiàng)后再對(duì)用戶輸入的數(shù)據(jù)進(jìn)行處理。切記——PHP v6 中將會(huì)刪除這個(gè)選項(xiàng)。盡量在合適的時(shí)候使用addcslashes 系列函數(shù)——請(qǐng)參考手冊(cè)


 

本文版權(quán)歸黑馬程序員PHP培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處,謝謝!
作者:黑馬程序員PHP培訓(xùn)學(xué)院
首發(fā):http://php.itheima.com/
分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!