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

  • A+
所属分类:[开发技巧]

来源:坏狼安全网 网址:http://www.winshell.cn
在默认的环境下.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系统会尽量让程序运行下去,除非遇到致命错误。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
广告也精彩
avatar
广告也精彩

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: