代码审计day2

 · 2020-3-18  ·次阅读


代码调试

echo

​ 最简单的输出数据调试方法,一般用来输出变量值或者不确定执行到哪个分支

print_r、var_dump、debug_zval_dump

​ 输出变量的数据值,特别是数组和对象数据,一半在查看接口的返回值或者不确定的变量可以使用这两个api,debug_zval_dump输出结果和var_dump类似,位移增加的值是refcount,记录一个变量被引用了多少次

debug_print_backtrace

​ 可以查看输出的调用栈信息

exit()

​ 停止程序,无法运行后面代码

超全局变量

全局变量

​ 全局变量就是在函数外面定义的变量。不能在函数中直接使用。因为它的作用域不
会到函数内部。所以在函数内部使用的时候常常看到类似global $a;

超全局变量

​ 超全局变量作用域在所有脚本都有效。所以,在函数可直接使用。比如$_ GET,
$. SERVER都是超全局变量。除$GET, $. _POST,$ SERVER, $_ COOKIE等之外的超全局
变量保存在$GLOBALS数组中

$GLOBALS
$_REQUEST
$_GET
$_ENV
$_SESSION
$_SERVE
$_POST
$_FILES
$_COOKIS