電子教案第13章關(guān)于安全_第1頁(yè)
電子教案第13章關(guān)于安全_第2頁(yè)
電子教案第13章關(guān)于安全_第3頁(yè)
電子教案第13章關(guān)于安全_第4頁(yè)
電子教案第13章關(guān)于安全_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第13章 關(guān)于安全近年來(lái)由于黑客問(wèn)題日益嚴(yán)重,網(wǎng)絡(luò)系統(tǒng)的安全問(wèn)題,也得到了廣泛的重視。PHP用于網(wǎng)絡(luò)軟件系統(tǒng)的開(kāi)發(fā),其本身的安全性是比較高的。但是因?yàn)榻馕鯬HP代碼的解析器,可以訪問(wèn)服務(wù)器上的文件,這就會(huì)引發(fā)一些安全問(wèn)題,從而威脅到系統(tǒng)的數(shù)據(jù)。本章將從4個(gè)方面,介紹了軟件可能存在的安全問(wèn)題,在了解這些安全方面的知識(shí)后,讀者可以參考這些內(nèi)容,來(lái)增強(qiáng)軟件系統(tǒng)的安全性。13.1 文件系統(tǒng)在網(wǎng)絡(luò)系統(tǒng)中,最容易遭到攻擊的就是文件系統(tǒng),雖然PHP的目錄,以及文件安全機(jī)制非常完善,但是有關(guān)于路徑或操作文件的動(dòng)作,還是可以被利用。本節(jié)將介紹一些關(guān)于文件系統(tǒng)的安全問(wèn)題,并提出解決方案。13.1.1 外部變量產(chǎn)生

2、的安全問(wèn)題如果代碼中關(guān)于文件系統(tǒng)的操作不夠安全,就會(huì)被利用來(lái)刪除服務(wù)器上的文件,下面演示的是一段不安全的代碼,如果在腳本中使用了這段代碼,很可能被利用來(lái)操作服務(wù)器上的文件,演示代碼如清單所示。清單 不安全的代碼13.1.2 特殊字符攻擊使用包含文件功能,對(duì)于編寫(xiě)代碼來(lái)說(shuō)有很多好處,但是如果不正確的使用,也能帶來(lái)安全方面的問(wèn)題,下面演示一段代碼,用于說(shuō)明包含文件帶來(lái)的安全問(wèn)題,代碼如清單所示。清單 特殊字符攻擊13.2 數(shù)據(jù)庫(kù)安全問(wèn)題如果不考慮程序代碼的安全性,數(shù)據(jù)庫(kù)本身也會(huì)有安全問(wèn)題存在,這些安全問(wèn)題有時(shí)會(huì)直接影響到數(shù)據(jù)庫(kù)中的數(shù)據(jù)。本節(jié)將介紹與數(shù)據(jù)安全相關(guān)的問(wèn)題,以供讀者參考。13.2.1 數(shù)

3、據(jù)庫(kù)權(quán)限與安全使用數(shù)據(jù)庫(kù)的超級(jí)用戶(hù)帳號(hào),可以任意執(zhí)行數(shù)據(jù)操作,例如:刪除數(shù)據(jù),清空表,刪除表,刪除數(shù)據(jù)庫(kù)等。這些操作都是非常危險(xiǎn)的,都會(huì)直接影響到數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)。在實(shí)際應(yīng)用中,盡量不要使用超級(jí)用戶(hù)來(lái)操作數(shù)據(jù)庫(kù),推薦新建受限用戶(hù),來(lái)管理對(duì)應(yīng)的數(shù)據(jù)庫(kù)。如果使用受限用用戶(hù)操作數(shù)據(jù)庫(kù),即使非法用戶(hù)通過(guò)代碼取得了這個(gè)用戶(hù)的操作權(quán)限,也不會(huì)產(chǎn)生大的損失。受限用戶(hù)的權(quán)限,可以根據(jù)程序的要求來(lái)設(shè)置,如果程序只是用來(lái)查詢(xún)數(shù)據(jù),那么受限用戶(hù)的權(quán)限只設(shè)置為查詢(xún)權(quán)限,就可以滿足要求了。13.2.2 SQL注入與防范在代碼中操作數(shù)據(jù)庫(kù),都是通過(guò)SQL語(yǔ)句完成的,通常SQL語(yǔ)句都是在編寫(xiě)代碼時(shí),寫(xiě)在了腳本中,以此來(lái)看

4、SQL語(yǔ)句不會(huì)產(chǎn)生安全問(wèn)題。但許多關(guān)于數(shù)據(jù)庫(kù)方面的安全問(wèn)題,都是由SQL引起的。SQL注入是非法用戶(hù)最經(jīng)常使用的侵入手段,在一些需要變量組成的SQL語(yǔ)句中,如果不采取防范措施,很容易被非法用戶(hù)利用,下面演示一段不安全的代碼,代碼如清單所示。13.3 代碼安全防范PHP語(yǔ)言本身,以及數(shù)據(jù)庫(kù)軟件,在安全方面的措施已經(jīng)很全面了,而產(chǎn)生安全問(wèn)題最多的,就在于代碼本身。要想開(kāi)發(fā)健狀的代碼,就必須解決好代碼的安全問(wèn)題。本節(jié)主要介紹,容易產(chǎn)生安全問(wèn)題的代碼,以及開(kāi)發(fā)安全代碼要注意的問(wèn)題。13.3.1 防范外部變量威脅表單變量是指用戶(hù)使用表單提交的變量,當(dāng)非法用戶(hù)掌握了表單的變量列表后,就可以通過(guò)偽造表單變量

5、,來(lái)使用腳本進(jìn)行非法操作。在13.2節(jié)中演示的安全問(wèn)題,都是由外部變量引起的。不管是文件系統(tǒng)的安全問(wèn)題,還是與數(shù)據(jù)庫(kù)有關(guān)的安全問(wèn)題,都是因?yàn)闆](méi)有對(duì)用戶(hù)提交的變量進(jìn)行檢查的結(jié)束所致。防范來(lái)自外部變量的威脅最好的辦法,就是對(duì)用戶(hù)提交的變量,進(jìn)行類(lèi)型、長(zhǎng)度等方面的檢查,以防止非法變量的出現(xiàn),下面列出用于檢查變量類(lèi)型和長(zhǎng)度的參數(shù),13.3.2 數(shù)據(jù)加密數(shù)據(jù)加密是解決安全問(wèn)題的最后一道屏障,假設(shè)非法用戶(hù)突破了重重設(shè)置,進(jìn)行了數(shù)據(jù)庫(kù),并成功讀取了敏感數(shù)據(jù),會(huì)造成數(shù)據(jù)泄密。如果把這些敏感數(shù)據(jù)進(jìn)行加密,就可以徹底粉碎非法用戶(hù)的入侵活動(dòng)。PHP中用于數(shù)據(jù)加密的函數(shù)有很多,但是也提供了相應(yīng)的解密函數(shù),非法用戶(hù)依然

6、可以通過(guò)這些PHP解密函數(shù),還原加密的數(shù)據(jù)。清單 加密與解密函數(shù)/使用base64_encode()函數(shù)加密數(shù)據(jù)$string = 這是使用base64_encode()函數(shù)加密的數(shù)據(jù);$enString = base64_encode($string);echo 加密前字符串:.$string.;echo 加密后字符串:.$enString.;/使用base64_decode()函數(shù)解密字符串$deString = base64_decode($enString);echo 解密后的字符串:.$deString.;?13.3.3 函數(shù)與類(lèi)的訪問(wèn)控制使用函數(shù)與類(lèi)而產(chǎn)生的安全問(wèn)題,可以通過(guò)訪問(wèn)控

7、制來(lái)解決。下面演示一個(gè)有安全問(wèn)題的類(lèi),代碼如清單所示。(詳細(xì)請(qǐng)參照本書(shū))13.3.4 錯(cuò)誤信息當(dāng)PHP代碼出錯(cuò)后,開(kāi)發(fā)人員可以通過(guò)PHP輸出的錯(cuò)誤信息,來(lái)判斷造成錯(cuò)誤的原因和文件。但是PHP的錯(cuò)誤報(bào)告也會(huì)被非法用戶(hù),用于收集系統(tǒng)漏洞信息。PHP顯示錯(cuò)誤報(bào)告的功能,可以通過(guò)配置文件來(lái)設(shè)置,下面演示其修改過(guò)程。(1)使用記事本打開(kāi)PHP配置文件。(2)使用記事本查找功能,查找字符串“display_errors = ”,光標(biāo)定位于錯(cuò)誤報(bào)告設(shè)置項(xiàng)處,如圖所示。13.4 常見(jiàn)問(wèn)題本章主要介紹了與PHP,以及與數(shù)據(jù)庫(kù)相關(guān)的安全問(wèn)題。安全是每個(gè)系統(tǒng)都必須重視的問(wèn)題,如果因?yàn)榇a的安全性,而導(dǎo)致數(shù)據(jù)丟失或損

8、壞的話,那么這個(gè)系統(tǒng)也是不完善的。本節(jié)主要介紹關(guān)于目錄安全與數(shù)據(jù)庫(kù)安全需要注意的問(wèn)題。13.4.1 關(guān)于目錄安全使用APACHE架設(shè)網(wǎng)絡(luò)服務(wù)時(shí),通過(guò)瀏覽器訪問(wèn)APACHE的文檔根目錄或其他目錄時(shí),APACHE會(huì)根據(jù)配置文件的設(shè)計(jì),首先運(yùn)行索引文件,一般索引文件名是index.html或index.php,如果索此文件不存在于此目錄中,便列出要訪問(wèn)目錄中的文件夾與文件的名稱(chēng),這個(gè)功能有時(shí)會(huì)給用戶(hù)帶來(lái)方便,但是對(duì)于要非法訪問(wèn)系統(tǒng)的用戶(hù)來(lái)說(shuō),就是一個(gè)機(jī)會(huì)。為了解決這個(gè)潛在的安全問(wèn)題,可以在安裝APACHE時(shí),配置SSL插件,但這種方面對(duì)于初學(xué)者來(lái)說(shuō),比較難于操作。最簡(jiǎn)單的辦法就是,在準(zhǔn)備發(fā)布的項(xiàng)目的每一個(gè)文件下,存放一個(gè)空文件文件,其文件名為index.html,并把index.html加入APACHE的索引文件列表中,當(dāng)用戶(hù)再訪問(wèn)發(fā)布項(xiàng)目的文件夾時(shí),APACHE會(huì)直接訪問(wèn)index.html,而不是列出文件夾和文件。13.4.2 加強(qiáng)數(shù)據(jù)庫(kù)安全性

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論