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

本文详细介绍了PHP中的各种错误类型,包括E_ALL、E_ERROR等,并解释了如何通过配置php.ini文件中的error_reporting和display_errors来控制错误消息的显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 在默认的环境下.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系统会尽量让程序运行下去,除非遇到致命错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值