修改php.ini以達(dá)到屏蔽錯(cuò)誤信息并記錄日志
更新時(shí)間:2013年06月16日 23:00:36 作者:
這篇文章主要介紹了通過(guò)修改php.ini文件來(lái)實(shí)現(xiàn)如果關(guān)閉與開啟錯(cuò)去信息,并給出了比較好的方法,既能看到錯(cuò)誤信息也防止信息泄露問(wèn)題
那是因?yàn)閜hp.ini中關(guān)閉了錯(cuò)誤顯示,將錯(cuò)誤寫成了文件,這是人為設(shè)置的結(jié)果,display_errors =on就好了。
不過(guò)不顯示錯(cuò)誤倒安全點(diǎn),建議調(diào)試時(shí)打開,然后提供服務(wù)時(shí)關(guān)閉。
提供一點(diǎn)資料給你:
display_errors = On
php缺省是打開錯(cuò)誤信息顯示的,我們把它改為:
display_errors = Off
關(guān)閉錯(cuò)誤顯示后,php函數(shù)執(zhí)行錯(cuò)誤的信息將不會(huì)再顯示給用戶,這樣能在一定程度上防止攻擊者從錯(cuò)誤信息得知腳本的物理位置,以及一些其它有用的信息,起碼給攻擊者的黑箱檢測(cè)造成一定的障礙。這些錯(cuò)誤信息可能對(duì)我們自己有用,可以讓它寫到指定文件中去,那么修改以下:
log_errors = Off
改為:
log_errors = On
以及指定文件,找到下面這行:
;error_log = filename
去掉前面的;注釋,把filename改為指定文件,如/usr/local/apache/logs/php_error.log
error_log = /usr/local/apache/logs/php_error.log
這樣所有的錯(cuò)誤都會(huì)寫到php_error.log文件里。
====================================
error_reporting
配置錯(cuò)誤信息回報(bào)的等級(jí)。
語(yǔ)法: int error_reporting(int [level]);
返回值: 整數(shù)
函數(shù)種類: PHP 系統(tǒng)功能
本函數(shù)用來(lái)配置錯(cuò)誤信息回報(bào)的等級(jí),參數(shù) level 是一個(gè)整數(shù)的位遮罩 (bitmask),見下表。
遮罩值 表示名稱
1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING
E_NOTICE 表示一般情形不記錄,只有程序有錯(cuò)誤情形時(shí)才用到,例如企圖存取一個(gè)不存在的變量,或是呼叫 stat() 函數(shù)檢視不存在的文件。
E_WARNING 通常都會(huì)顯示出來(lái),但不會(huì)中斷程序的執(zhí)行。這對(duì)除錯(cuò)很有效。例如:用有問(wèn)題的正則表達(dá)式呼叫 ereg()。
E_ERROR 通常會(huì)顯示出來(lái),亦會(huì)中斷程序執(zhí)行。意即用這個(gè)遮罩無(wú)法追查到內(nèi)存配置或其它的錯(cuò)誤。
E_PARSE 從語(yǔ)法中解析錯(cuò)誤。
E_CORE_ERROR 類似 E_ERROR,但不包括 PHP 核心造成的錯(cuò)誤。
E_CORE_WARNING 類似 E_WARNING,但不包括 PHP 核心錯(cuò)誤警告。
————————————
額外:
1.
php文件中
error_reporting(7) 其中的7 就是 1+2+4,也就是回報(bào) 1 E_ERROR 2 E_WARNING 4 E_PARSE
2.
php.ini中
display_errors = Off //默認(rèn)是關(guān)閉錯(cuò)誤提示
error_reporting = E_ALL //顯示從不良編碼實(shí)踐到無(wú)害提示到出錯(cuò)的所有信息,由于回報(bào)的信息太細(xì)化了,包括了無(wú)害信息,為了在開發(fā)過(guò)程中能看到實(shí)際的提示,建議配置為 error_reporting = E_ALL & ~E_NOTICE
不過(guò)不顯示錯(cuò)誤倒安全點(diǎn),建議調(diào)試時(shí)打開,然后提供服務(wù)時(shí)關(guān)閉。
提供一點(diǎn)資料給你:
display_errors = On
php缺省是打開錯(cuò)誤信息顯示的,我們把它改為:
display_errors = Off
關(guān)閉錯(cuò)誤顯示后,php函數(shù)執(zhí)行錯(cuò)誤的信息將不會(huì)再顯示給用戶,這樣能在一定程度上防止攻擊者從錯(cuò)誤信息得知腳本的物理位置,以及一些其它有用的信息,起碼給攻擊者的黑箱檢測(cè)造成一定的障礙。這些錯(cuò)誤信息可能對(duì)我們自己有用,可以讓它寫到指定文件中去,那么修改以下:
log_errors = Off
改為:
log_errors = On
以及指定文件,找到下面這行:
;error_log = filename
去掉前面的;注釋,把filename改為指定文件,如/usr/local/apache/logs/php_error.log
error_log = /usr/local/apache/logs/php_error.log
這樣所有的錯(cuò)誤都會(huì)寫到php_error.log文件里。
====================================
error_reporting
配置錯(cuò)誤信息回報(bào)的等級(jí)。
語(yǔ)法: int error_reporting(int [level]);
返回值: 整數(shù)
函數(shù)種類: PHP 系統(tǒng)功能
本函數(shù)用來(lái)配置錯(cuò)誤信息回報(bào)的等級(jí),參數(shù) level 是一個(gè)整數(shù)的位遮罩 (bitmask),見下表。
遮罩值 表示名稱
1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING
E_NOTICE 表示一般情形不記錄,只有程序有錯(cuò)誤情形時(shí)才用到,例如企圖存取一個(gè)不存在的變量,或是呼叫 stat() 函數(shù)檢視不存在的文件。
E_WARNING 通常都會(huì)顯示出來(lái),但不會(huì)中斷程序的執(zhí)行。這對(duì)除錯(cuò)很有效。例如:用有問(wèn)題的正則表達(dá)式呼叫 ereg()。
E_ERROR 通常會(huì)顯示出來(lái),亦會(huì)中斷程序執(zhí)行。意即用這個(gè)遮罩無(wú)法追查到內(nèi)存配置或其它的錯(cuò)誤。
E_PARSE 從語(yǔ)法中解析錯(cuò)誤。
E_CORE_ERROR 類似 E_ERROR,但不包括 PHP 核心造成的錯(cuò)誤。
E_CORE_WARNING 類似 E_WARNING,但不包括 PHP 核心錯(cuò)誤警告。
————————————
額外:
1.
php文件中
error_reporting(7) 其中的7 就是 1+2+4,也就是回報(bào) 1 E_ERROR 2 E_WARNING 4 E_PARSE
2.
php.ini中
display_errors = Off //默認(rèn)是關(guān)閉錯(cuò)誤提示
error_reporting = E_ALL //顯示從不良編碼實(shí)踐到無(wú)害提示到出錯(cuò)的所有信息,由于回報(bào)的信息太細(xì)化了,包括了無(wú)害信息,為了在開發(fā)過(guò)程中能看到實(shí)際的提示,建議配置為 error_reporting = E_ALL & ~E_NOTICE
相關(guān)文章
php環(huán)境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比較?
什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?在php運(yùn)行環(huán)境配置中用得到,究竟哪種更適合網(wǎng)站。2011-10-10PHPExcel實(shí)現(xiàn)的讀取多工作表操作示例
這篇文章主要介紹了PHPExcel實(shí)現(xiàn)的讀取多工作表操作,結(jié)合實(shí)例形式分析了PHPExcel針對(duì)Excel多個(gè)sheet工作表的讀取、解析相關(guān)操作技巧,需要的朋友可以參考下2020-04-04

PHP7創(chuàng)建COOKIE和銷毀COOKIE的實(shí)例方法
在本篇文章里小編給大家整理的是關(guān)于PHP7創(chuàng)建COOKIE和銷毀COOKIE的實(shí)例方法,有需要的朋友們可以參考下。
2020-02-02 
php中利用str_pad函數(shù)生成數(shù)字遞增形式的產(chǎn)品編號(hào)
PHP開發(fā)項(xiàng)目中,在做產(chǎn)品編號(hào)時(shí),客戶反要求自動(dòng)生成產(chǎn)品編號(hào),格式如”QB00001″,數(shù)字遞增形式
2013-09-09 
php中通過(guò)DirectoryIterator刪除整個(gè)目錄的方法
這篇文章主要介紹了php中通過(guò)DirectoryIterator刪除整個(gè)目錄的方法,實(shí)例分析了php通過(guò)DirectoryIterator類操作目錄的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
2015-03-03