防止黑客根据PHP中的错误信息爆路径

日期: 2008-04-10 来源:TechTarget中国

  在默认的环境下.php.ini中配置错误消息有几种:


  Php.ini 将能够显示的错误类型分为如下种类。


  ; E_ALL -所有的错误和警告,(不包含E_STRICT).


  ; E_ERROR -致命的运行时错误


  ; E_RECOVERABLE_ERROR -可由异常处理机制所捕捉 (catch/handle) 的错误


  ; E_WARNING – 运行时的警告(非致命错误)


  ; E_PARSE -编译时解析错误


  ; E_NOTICE – 运行时的提示,这些提示常常是代码中的bug引起的,也许是故意的(如使用一个未初始化的变量,事实上它被自动初始化成一个空字符串) 。


  ; E_STRICT – 运行时提示,能够给于PHP建议,以改变你的代码,以获得最好的协同性,并完善代码的兼容性。


  ; E_CORE_ERROR – PHP 初始化启动过程中的致命错误。


  ; E_CORE_WARNING – PHP 初始化启动过程中的非致命错误。


  ; E_COMPILE_ERROR – 致命的编译错误。


  ; E_COMPILE_WARNING – 编译错误(非致命的错误)。


  ; E_USER_ERROR – 用户错误信息。


  ; E_USER_WARNING – 用户警告信息。


  ; E_USER_NOTICE -用户提示信息。


  在php.ini 中error_reporting 控制输出到用户端的消息种类。


  以下几种是php.ini 中推荐的几种配置。


  error_reporting = E_ALL 表示输出所有的信息。


  error_reporting = E_ALL & ~E_NOTICE 表示输出所有的错误,除了提示。


  error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR 表示输出所有的 ERROR 信息。


  在php.ini 中,display_errors可以设置是否将以上设置的错误信息输出到用户端。


  display_errors = On 输出到用户端(调试代码时候,打开这项更方便)


  display_errors = OFF 消息将不会输出到用户端(最终发布给用户时记得改成off)


  php中错误消息处理


  在php中,对于错误处理非常的宽松。php系统会尽量让程序运行下去,除非遇到致命错误。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。