[PHP]4.审计涉及的超全局变量

php代码审计

·全局变量(函数外面定义的变量)

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

 

·超全局变量

超全局变量作用域在所有脚本都有效,所以,在函数可直接使用,比如$_GET,$_SERVER都是超全局变量,除$_POST,$_SERVER,$_cookie等之外的超全局变量保存在$GLOBALS数组中

 

·超全局变量有

$GLOBALS    

$_SERVER

$_REQUEST

$_GET

$_ENV

$_SESSION

$_SERVER

$_POST

$_FILES

$_COOKIE

 

$GLOBALS

·global

Global的作用是定义全局变量,只应用于当前网页(包括includerequire的所有文件)

而不是整个网站

·$GLOBALS

GLOBALS用于在PHP脚本中任意位置访问全局变量(从函数或方法中均可)

 

 

·$_post$_Get

·post(隐藏传参)

$_post向服务器传送数据,将表单内各个字段预期内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址 用户看不到这个过程

·GETurl传参)

$_Get从服务器上获取数据,把参数数据队列加到表单的ACTION属性所指的URL中 值和表单内各个字段一一对应 在URL中可以看到

·$_REQUEST

  php$_REQUEST可以获取以post方法和get方法提交的数据

比较慢

尽量不要使用$_REQUEST,应该从$_Get $_Post,$COOKIE,$_ENV,$_SERVER等变量中取出需要的值

 

 

 

·$_REQUEST

·php$_REQUEST可以获取POST方法和GET方法提交的数据

·比较慢

尽量不要使用$_REQUEST,应该从$_GET,$POST,$COOKIE,$_ENV,$_SERVER等变量中取出需要的值

 

·$_FILES

·$_FILES[file][name]显示客户端文件的原始名称

·$_FILES[file][type]文件的MIME类型,例如image/gif

·$_FILES[file][size]已上传文件的大小,单位为字节

·$_FILES[file][tmp_name]储存零时文件名,一般是系统默认

·$_FILES[file][error]该文件上传相关的错误代码

 

·$_SERVER

[PHP]4.审计涉及的超全局变量 第1张

·$_cookie

·通过HTTP COOKIE方式传递给当前脚本的变量和数组

·$HTTP_COOKIE_vars包含相同的信息 但他不是一个超全局变量

·注意 $HTTP_COOKIE_VARS$_COOKIE是不同的变量,PHP处理他们的方式不通

 

·$_ENV

包含服务器端环境变量的数组,可在PHP程序的任何地方直接访问

只是被动的接受服务器端的环境变量转换为数组元素