当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP安全之错误报告

PHP
php中目录,文件操作详谈
理解PHP5中static和const关键字的区别
php中支持多种编码的中文字符串截取函数!
关于BIG5-HKSCS的解决方法
自动生成文章摘要的代码[PHP 版本]
完美解决dedecms中的[html][/html]和[code][/code]问题
不错的dedecms修改实用集锦
PHP的分页功能
dedecms中显示数字验证码的修改方法
dedecms中常见问题修改方法总结
用PHP写的MySQL数据库用户认证系统代码
收集的PHP中与数组相关的函数
PHP中动态显示签名和ip原理
实现dedecms全站URL静态化改造的代码
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
在任意字符集下正常显示网页的方法一
在任意字符集下正常显示网页的方法二(续)
经典的PHPer为什么被认为是草根?
dedecms系统常用术语汇总
一篇入门的php Class 文章

PHP安全之错误报告


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 255 ::
收藏到网摘: n/a

从早期的版本到 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