久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

PHP安全-錯誤報告

瀏覽:126日期:2022-09-12 10:27:04
錯誤報告

沒有不會犯錯的開發者,PHP的錯誤報告功能將協助您確認和定位這些錯誤。可以PHP提供的這些詳細描述也可能被惡意攻擊者看到,這就不妙了。使大眾看不到報錯信息,這一點很重要。做到這一點很容易,只要關閉display_errors,當然如果您希望得到出錯信息,可以打開log_errors選項,并在error_log選項中設置出錯日志文件的保存路徑。

由于出錯報告的級別設定可以導致有些錯誤無法發現,您至少需要把error_reporting設為E_ALL(E_ALL | E_STRICT 是最高的設置, 提供向下兼容的建議, 如不建議使用的提示).

所有的出錯報告級別可以在任意級別進行修改,所以您如果使用的是共享的主機,沒有權限對php.ini, httpd.conf, 或 .htaccess等配置文件進行更改時,您可以在程序中運行出錯報告級別配置語句:

CODE:

<?php

ini_set(’error_reporting’, E_ALL | E_STRICT);

ini_set(’display_errors’, ’Off’);

ini_set(’log_errors’, ’On’);

ini_set(’error_log’, ’/usr/local/apache/logs/error_log’);

?>

小提示

http://php.net/manual/ini.php 對php.ini的選項配置作了詳盡的說明。

PHP還允許您通過 set_error_handler( ) 函數指定您自已的出錯處理函數:

CODE:

<?php

set_error_handler(’my_error_handler’);

?>

上面程序指定了您自已的出錯處理函數my_error_handler( ); 下面是一個實際使用的示例:

CODE:

<?php

function my_error_handler($number, $string, $file, $line, $context)

{

$error = '= == == == ==nPHP ERRORn= == == == ==n';

$error .= 'Number: [$number]n';

$error .= 'String: [$string]n';

$error .= 'File: [$file]n';

$error .= 'Line: [$line]n';

$error .= 'Context:n' . print_r($context, TRUE) . 'nn';

error_log($error, 3, ’/usr/local/apache/logs/error_log’);

}

?>

小提示

PHP 5還允許向set_error_handler( )傳遞第二個參數以限定在什么出錯情況下執行出定義的出錯處理函數。比如,現在建立一個處理告警級別(warning)錯誤的函數:

CODE:

<?php

set_error_handler(’my_warning_handler’, E_WARNING);

?>

PHP5還提供了異常處理機制,詳見http://php.net/exceptions

標簽: PHP
相關文章:
主站蜘蛛池模板: 兴安县| 舟山市| 台安县| 芦溪县| 罗源县| 阿尔山市| 桐庐县| 浦东新区| 铁力市| 西贡区| 陕西省| 万载县| 商河县| 门头沟区| 崇左市| 河北区| 余姚市| 深圳市| 依兰县| 泸西县| 库伦旗| 桃源县| 乌恰县| 平顶山市| 搜索| 肥西县| 江西省| 邵阳县| 汶川县| 久治县| 祁连县| 神池县| 桃园县| 沽源县| 邹城市| 中山市| 凤冈县| 浦江县| 东乡| 舒兰市| 揭西县|