PHP代碼審核的詳細(xì)介紹
概述
代碼審核,是對(duì)應(yīng)用程序源代碼進(jìn)行系統(tǒng)性檢查的工作。它的目的是為了找到并且修復(fù)應(yīng)用程序在開發(fā)階段存在的一些漏洞或者程序邏輯錯(cuò)誤,避免程序漏洞被非法利用給企業(yè)帶來(lái)不必要的風(fēng)險(xiǎn)
代碼審核不是簡(jiǎn)單的檢查代碼,審核代碼的原因是確保代碼能安全的做到對(duì)信息和資源進(jìn)行足夠的保護(hù),所以熟悉整個(gè)應(yīng)用程序的業(yè)務(wù)流程對(duì)于控制潛在的風(fēng)險(xiǎn)是非常重要的。
審核人員可以使用類似下面的問(wèn)題對(duì)開發(fā)者進(jìn)行訪談,來(lái)收集應(yīng)用程序信息。
應(yīng)用程序中包含什么類型的敏感信息,應(yīng)用程序怎么保護(hù)這些信息的?
應(yīng)用程序是對(duì)內(nèi)提供服務(wù),還是對(duì)外?哪些人會(huì)使用,他們都是可信用戶么?
應(yīng)用程序部署在哪里?
應(yīng)用程序?qū)τ谄髽I(yè)的重要性?
最好的方式是做一個(gè) checklist,讓開發(fā)人員填寫。Checklist 能比較直觀的反映應(yīng)用程序的信息和開發(fā)人員所做的編碼安全,它應(yīng)該涵蓋可能存在嚴(yán)重漏洞的模塊,例如:數(shù)據(jù)驗(yàn)證、身份認(rèn)證、會(huì)話管理、授權(quán)、加密、錯(cuò)誤處理、日志、安全配置、網(wǎng)絡(luò)架構(gòu)。
輸入驗(yàn)證和輸出顯示
大多數(shù)漏洞的形成原因主要都是未對(duì)輸入數(shù)據(jù)進(jìn)行安全驗(yàn)證或?qū)敵鰯?shù)據(jù)未經(jīng)過(guò)安全處理,比較嚴(yán)格的數(shù)據(jù)驗(yàn)證方式為:對(duì)數(shù)據(jù)進(jìn)行精確匹配
接受白名單的數(shù)據(jù)
拒絕黑名單的數(shù)據(jù)
對(duì)匹配黑名單的數(shù)據(jù)進(jìn)行編碼
在 PHP 中可由用戶輸入的變量列表如下:
$_SERVER
$_GET
$_POST
$_COOKIE
$_REQUEST
$_FILES
$_ENV
$_HTTP_COOKIE_VARS
$_HTTP_ENV_VARS
$_HTTP_GET_VARS
$_HTTP_POST_FILES
$_HTTP_POST_VARS
$_HTTP_SERVER_VARS
我們應(yīng)該對(duì)這些輸入變量進(jìn)行檢查
相關(guān)文章
PHP經(jīng)典實(shí)用正則表達(dá)式小結(jié)
這篇文章主要介紹了PHP經(jīng)典實(shí)用正則表達(dá)式,結(jié)合具體實(shí)例總結(jié)分析了php基于正則實(shí)現(xiàn)驗(yàn)證、查找、匹配等相關(guān)操作技巧,需要的朋友可以參考下2017-05-05
PHP遠(yuǎn)程連接oracle數(shù)據(jù)庫(kù)操作實(shí)現(xiàn)方法圖文詳解
這篇文章主要介紹了PHP遠(yuǎn)程連接oracle數(shù)據(jù)庫(kù)操作實(shí)現(xiàn)方法,結(jié)合圖文形式詳細(xì)分析了php連接Oracle數(shù)據(jù)庫(kù)的相關(guān)配置、實(shí)現(xiàn)方法、遇到的問(wèn)題、解決方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-04-04
PHP 利用Mail_MimeDecode類提取郵件信息示例
重點(diǎn)為one_mail函數(shù)。利用Mail_mimeDecode類從郵件中提取郵件頭和郵件正文,具體實(shí)現(xiàn)如下2014-01-01
php實(shí)現(xiàn)多維數(shù)組中每個(gè)單元值(數(shù)字)翻倍的方法
這篇文章主要介紹了php實(shí)現(xiàn)多維數(shù)組中每個(gè)單元值(數(shù)字)翻倍的方法,涉及php操作數(shù)組的技巧,需要的朋友可以參考下2015-02-02
分析php://output和php://stdout的區(qū)別
本篇文章給大家詳細(xì)分析了php://output和php://stdout的用法區(qū)別以及實(shí)例代碼分享,有需要的朋友可以參考學(xué)習(xí)下。2018-05-05

