您的位置:首页 > 编程语言 > PHP开发

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

2008-12-11 15:52 162 查看
 在默认的环境下.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系统会尽量让程序运行下去,除非遇到致命错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: