PHP安全-错误报告

黄舟
发布: 2017-02-23 09:24:24
原创
1315人浏览过


错误报告

没有不会犯错的开发者,php的错误报告功能将协助您确认和定位这些错误。可以php提供的这些详细描述也可能被恶意攻击者看到,这就不妙了。使大众看不到报错信息,这一点很重要。做到这一点很容易,只要关闭display_errors,当然如果您希望得到出错信息,可以打开log_errors选项,并在error_log选项中设置出错日志文件的保存路径。

       由于出错报告的级别设定可以导致有些错误无法发现,您至少需要把error_reporting设为E_ALL(E_ALL | E_STRICT 是最高的设置, 提供向下兼容的建议, 如不建议使用的提示).

       所有的出错报告级别可以在任意级别进行修改,所以您如果使用的是共享的主机,没有权限对php.ini, httpd.conf, 或 .htaccess等配置文件进行更改时,您可以在程序中运行出错报告级别配置语句:

CODE:

挖错网
挖错网

一款支持文本、图片、视频纠错和AIGC检测的内容审核校对平台。

挖错网 28
查看详情 挖错网

立即学习PHP免费学习笔记(深入)”;

 <?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://www.php.cn/ 对php.ini的选项配置作了详尽的说明。

     PHP还允许您通过 set_error_handler( ) 函数指定您自已的出错处理函数: 

CODE:

立即学习PHP免费学习笔记(深入)”;

 <?php
 
  set_error_handler('my_error_handler');
 
  ?>
登录后复制

       上面程序指定了您自已的出错处理函数my_error_handler( ); 下面是一个实际使用的示例:

CODE:

立即学习PHP免费学习笔记(深入)”;

 <?php
 
  function my_error_handler($number, $string, $file,
$line, $context)
  {
    $error = "=  ==  ==  ==  ==\nPHP ERROR\n=  ==
 ==  ==  ==\n";
    $error .= "Number: [$number]\n";
    $error .= "String: [$string]\n";
    $error .= "File:   [$file]\n";
    $error .= "Line:   [$line]\n";
    $error .= "Context:\n" . print_r($context, TRUE)
. "\n\n";
 
    error_log($error, 3,
'/usr/local/apache/logs/error_log');
  }
 
  ?>
登录后复制

小提示

       PHP 5还允许向set_error_handler( )传递第二个参数以限定在什么出错情况下执行出定义的出错处理函数。比如,现在建立一个处理告警级别(warning)错误的函数:

CODE:

立即学习PHP免费学习笔记(深入)”;

 <?php
  set_error_handler('my_warning_handler',
E_WARNING);
  ?>
登录后复制

 以上就是PHP安全-错误报告的内容,更多相关内容请关注PHP中文网(www.php.cn)!


相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号