了解PHP 中的Register_Globals 和Global 關鍵字
使用Web 應用程式時,了解register_globals 和PHP 中的global關鍵字的概念非常重要PHP.
什麼是Register_Globals?
register_globals 指令會自動將 $_REQUEST 陣列的元素註冊為變數。這意味著透過表單(透過 POST 或 GET)提交的任何資料都可以作為帶有相應輸入欄位名稱的 PHP 變數立即存取。
雖然此功能最初看起來很方便,但它將應用程式暴露給安全漏洞。攻擊者可以操縱 URL 查詢字串或提交的表單資料來設定任意變量,並可能獲得未經授權的存取。因此,出於安全原因,強烈建議停用 register_globals。
範例:
考慮登入表單允許使用者提交使用者名稱和密碼的場景。啟用 register_globals 後,攻擊者可以將以下內容附加到 URL:
這將自動在 PHP 腳本中設定 $username 和 $password 變量,從而允許攻擊者繞過身份驗證過程。
什麼是 Global 關鍵字?
global 關鍵字有不同的用途,與 register_globals 無關。它允許在函數內部存取或修改函數外部定義的變數。
範例:
以上是為什麼 PHP 中的 Register_Globals 是危險的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!