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

