php代码审计2全局变量和超全局变量
全局變量:
就是在函數外面定義的變量,不能在函數中直接使用,因為它的作用域不會到函數內部,所以在函數內部使用的時候嘗嘗看到類似global $a;
超全局變量:
在所有腳本都有效,所以,在函數可以直接使用,如$_GET $_SERVER都是超全局變量,變量保存在$GLOBALS數組中
超全局變量
$GLOBALS (Global作用是定義全局變量,只應用于當前網頁(包括include和require的所有文件)而不是整個網站,$GLOBALS用于在php腳步中的任意位置訪問全局變量(從函數或方法中均可))
$_REQUEST (可以獲取post方法和get方法提交的數據,比較慢,盡量不要使用$_REQUEST,應該從$_GET,$_POST,$_COOKIE,$_ENV, $_SERVER等變量中取出需要的值)
$_GET (從服務器上獲取數據,把參數數據列隊加到提交表單的action屬性所指的url中值和表單內各個字段一一對應,在url中可以看到)
$_ENV (包含服務端環境變量的數組,可用在php程序的任何地方直接訪問,它是被動的接受服務器端的環境變量轉換為數組元素)
$_SESSION (當前腳本可用session變量的數組,$HTTP_SESSION_VVARS包含相同的信息(4.1.0已廢棄)但它不是一個超全局變量,和session是不同的變量,php處理它們的方式不同)
$_SERVER (保存關于報頭,路徑和腳本位置的信息)
$_POST (向服務器傳送數據,將表單內各個字段與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的utl地址,用戶看不到過程)
$_FILES ($_FILES['file']['name’]顯示客戶端文件的原名稱,
?? ? $_FILES['file']['type']文件的mime類型。例如"image/git"
?? ? $FILES['file'][‘size’]已上傳文件的大小,單位為字節
?? ? $FILES['file'][‘tmp_name’]儲存的臨時文件名,一般是系統默認
?? ? $FILES['file'][‘error’]該文件上傳相關的錯誤代碼 )
$_COOKIE (通過http cookie方式傳遞給當前腳步的變量的數組,$HTTP_COOKIE_VARS包含相同的信息,但它不是一個超全局變量,而且它和$_COOKIE是不相同的變量,php處理它們的方式不同)
轉載于:https://www.cnblogs.com/Hydraxx/p/10321388.html
總結
以上是生活随笔為你收集整理的php代码审计2全局变量和超全局变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于 matplotlib 的抽象网格和
- 下一篇: bzoj 2119 股市的预测 —— 枚