首頁 >後端開發 >php教程 >為什麼 PHP 中的 Register_Globals 是危險的?

為什麼 PHP 中的 Register_Globals 是危險的?

Barbara Streisand
Barbara Streisand原創
2024-11-17 19:27:02944瀏覽

Why is Register_Globals Dangerous in PHP?

了解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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn