• PHP-XDebug配置


    0x01 XDebug介绍

    • XDebug是一个开放源代码的PHP程序调试器,可以用来跟踪,调试和分析PHP的运行状况,功能强大,对审计有很大的帮助
    • XDebug其实是一个.dll文件,通常放在PHP安装目录的ext/php_xdebug.dll。通过配置对应版本的php.ini文件使用
    • 当配置XDebug完成后,每次访问一个页面,都会在指定的目录下生成一个文档,文档详细的记录了相关变量和函数的运行时间、源文件等等,可通过此文档,得知PHP的运行状况、某个函数的效率高低等等

    0x02 安装配置Debug

    • 安装
      • 如果在PHP的安装目录下没有php_xdebug.dll文件,需到官网下载与自己本机PHP版本对应的XDebug,下载完成之后,放在对应版本/ext/下
    • 配置(修改配置文件后需重启Apache服务才可生效)
      • 修改对应的PHP版本配置(.ini)文件,配置如下
      • 参数解读
        • 1937:将分析器输出写入到的目录中,请确保将运行PHP的用户对该目录具有写权限
        • 1938:当这个设置被设置为!= 0时,Xdebug在错误情况下生成的堆栈转储也会显示最顶层范围内的所有变量。注意,这可能会生成大量信息,因此在默认情况下关闭
        • 1939:日志的输出文件夹,请确保将运行PHP的用户对该目录具有写权限
        • 1940:XDebug的文件位置
        • 1941:在概要文件输出目录中创建文件
        • 1942:当这个设置设置为1时,您可以通过使用XDEBUG_PROFILE GET/POST参数来触发概要文件的生成,或者设置一个名为XDEBUG_PROFILE的cookie。这将把分析器数据写入定义的目录。为了防止分析器为每个请求生成概要文件,您需要设置xdebug。profiler_enable为0
        • 1943:打开自动追踪。自动追踪一般情况下为打开,可以更方便的寻找函数
        • 1944:当这个设置被设置为1时,Xdebug将在任何异常或错误被引发时显示一个堆栈跟踪,即使这个异常或错误被实际捕获
        • 1945:当这个设置被设置为1时,Xdebug将总是尝试启动一个远程调试会话并尝试连接到一个客户端
        • 1946:这个开关控制Xdebug是否应该尝试联系一个调试客户端,这个客户端在主机上监听Xdebug设置的端口。如果无法建立连接,脚本将继续,就像该设置为0一样
        • 1947:只能是“dbgp”来表示调试器协议。DBGp协议是唯一受支持的协议
        • 1948:远程调试客户机的主机IP。若尚未确定可使用xdebug.remote_connect_back = 1替换这一项
        • 1949:远程主机上Xdebug试图连接到的端口
        • 1950:连接IDE的Key,可自定义
        • 其他参数 xdebug.trace_format=0:日志追踪输出目录,0代表人可读,1代表机器可读,2代表html格式,用浏览器打开阅读。一般使用0
        • xdebug.trace_options=0:记录添加到文件中方式,0代表覆盖,1代表追加,一般选择覆盖,因为随着时间,文件越来越大,不方便审计
        • xdebug.collect_params=4:显示内容详细程度,这里选择4,显示所有变量内容和变量名
        • xdebug.collect_return=1:显示函数返回值,0为不显示
        • xdebug.collect_vars=1:显示当前作用域使用了哪些变量,显示变量名
        • xdebug.collect_assignments=1:添加一行显示变量赋值

    0x03 XDebug的解密功能

    • XDbug还有一个很强大的功能,它可以自动跟随函数和变量的‘脚步’,解密出加密过的内容
    • 通过网页访问加密过的文件,使XDebug生成日志记录文件,从而间接达到解密的目的
    • 使用记事本打开日志记录文件即可获取解密后的内容

      

  • 相关阅读:
    date format记录
    python同时遍历两个list
    Windbg分析DMP文件
    DNS原理及其解析过程(转)
    有关正则表达式的详细内容
    sizeof _countof _tcslen的比较
    关于androidX
    UML类图
    springBoot 访问html页面遇到的坑
    hashmap 的实现原理
  • 原文地址:https://www.cnblogs.com/lian9/p/13694157.html
Copyright © 2020-2023  润新知