Xdebug是一个开放源代码的PHP程序调试器,可以用来跟踪,调试和分析PHP程序的运行状况。
一、主要配置
1.日志
xdebug.trace_output_dir //日志追踪输出目录
xdebug.trace_output_name //日志文件名
xdebug.trace_options //记录添加到文件中的方式:1=追加(如果存在该文件)|| 0(default)=覆盖(如果存在该文件)
2.显示数据
xdebug.collect_params //非零值=控制function的参数显示选项
0=不显示
1=参数类型,值(例:array(9))
2=同上1,CLI模式略微区别
3=所有变量内容
4=所有变量内容和变量名(例如:array(0=>9))
xdebug.collect_return //1=显示function返回值,Default 0 不显示
xdebug.collect_vars //1=显示当前作用域使用了哪些变量,显示变量名,该选项不会记录变量值
xdebug.collect_assigments // 1=添加一行显示变量赋值(若为1,例$a=1;这类 Assignment Experssion会在trace文件里显示)
3.格式
xdebug.trace_format //日志追踪输出目录
4.行为
xdebug.auto_trace //1=打开自动追踪
xdebug.trace_enable_trigger //1=使用XDEBUG_TRACE GET/POST触发追踪,或者通过设置cookie XDEBUG_TRACE.为了避免每次请求时,都会生成相应的trace追踪文件,你需要把auto_trace设置为0
二、我的配置
三、审计方法
访问php文件,会对应生成trace.XXXXXX.xt跟踪日志文件,用Notepad++打开php文件,高亮显示代码,加上<?php 能更友好的显示
打开phpstudy的php.ini配置文件
查看xdebug
然后刷新访问一下测试的php文件,在xdebug目录发现记录的文件
利用Notepad++打开文件,如图
四、XDebug的黑科技
利用XDebug追踪被加密的源代码时,可以打开追踪日志文件,并搜索关键字passwd/eval函数等,并对特殊字符进行合法转义,即可获得大致流程的源代码。