PHP安全之错误报告
2012-03-15 21:58
525 查看
http://www.5bay.cn/network-programming/phpeeeeee-2.html
从早期的版本到 2004 年 7 月 13 日发布的 PHP 5,错误报告都是相当简单的。除了小心编写程序,还要留意一些特定的 PHP 配置项目:
error_reporting
这个项目设置了错误报告的等级。不论是开发还是部署环境,强烈建议将这个项目设置为E_ALL。
display_errors
这个项目决定是否将错误显示在屏幕上(包含在输出中)。应当在开发中设置为On,这样可以在开发时就发现错误;应当在部署环境中设置为Off,这样在所有用户(和潜在攻击者)面前错误将被隐藏。
log_errors
这个项目决定是否将错误写入日志。虽然这会引起性能损失,但是对于并不经常出现的错误这是非常必要的。如果在硬盘上记录错误带来了巨大的 I/O 负荷,比起应用程序的效率来说,这或许应当引起更多的注意。应当在部署环境中设置为On。
error_log
这个项目决定了日志文件存放的位置和名字。一定要确保 web 服务器对指定文件拥有权限。
设置error_reporting为E_ALL对于强制初始化变量有帮助,因为使用一个未定义的变量会产生提示(notice)。
注意
这些项目的每一个都可以使用ini_set()设置,而不需要访问php.ini或者其他操作设置这些项目。
一个非常好的错误处理和报告函数在 PHP 手册中有所介绍:
http://www.php.net/manual/en/ref.errorfunc.php
PHP 5 包含异常处理。了解更多信息,请查阅:
http://www.php.net/manual/language.exceptions.php
从早期的版本到 2004 年 7 月 13 日发布的 PHP 5,错误报告都是相当简单的。除了小心编写程序,还要留意一些特定的 PHP 配置项目:
error_reporting
这个项目设置了错误报告的等级。不论是开发还是部署环境,强烈建议将这个项目设置为E_ALL。
display_errors
这个项目决定是否将错误显示在屏幕上(包含在输出中)。应当在开发中设置为On,这样可以在开发时就发现错误;应当在部署环境中设置为Off,这样在所有用户(和潜在攻击者)面前错误将被隐藏。
log_errors
这个项目决定是否将错误写入日志。虽然这会引起性能损失,但是对于并不经常出现的错误这是非常必要的。如果在硬盘上记录错误带来了巨大的 I/O 负荷,比起应用程序的效率来说,这或许应当引起更多的注意。应当在部署环境中设置为On。
error_log
这个项目决定了日志文件存放的位置和名字。一定要确保 web 服务器对指定文件拥有权限。
设置error_reporting为E_ALL对于强制初始化变量有帮助,因为使用一个未定义的变量会产生提示(notice)。
注意
这些项目的每一个都可以使用ini_set()设置,而不需要访问php.ini或者其他操作设置这些项目。
一个非常好的错误处理和报告函数在 PHP 手册中有所介绍:
http://www.php.net/manual/en/ref.errorfunc.php
PHP 5 包含异常处理。了解更多信息,请查阅:
http://www.php.net/manual/language.exceptions.php
相关文章推荐
- PHP安全-错误报告
- PHP安全之错误报告
- PHP配置文件php.ini中打开错误报告的设置方法
- 用httpWebRequest调用https开头的php webservice,报“基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系”错误的解决方法
- php中通过设置php.ini(或者写到需要受影响的单个php文件中)使warning,notice等错误报告不在页面中显示
- PHP的错误报告设置
- php中设置错误报告级别error_reporting()
- php - 错误报告 error_reporting
- php 编写安全的代码时容易犯的错误小结
- php报告错误级别
- PHP错误报告级别
- php.ini中配置php错误报告级别
- php错误显示及报告处理(1)
- php之错误报告设置
- PHP错误报告级别
- PHP中如何设置error_reporting错误报告级别
- PHP配置文件php.ini中打开错误报告的设置方法
- php错误显示及报告处理 (2)
- PHP中如何设置error_reporting错误报告级别