我已經通過Stack Overflow搜索了搜索欄,只有4個帖子指出這些是不好的東西打開。爲什麼Superglobals這麼壞的東西打開?
沒有完整的原因,爲什麼?
所以我張貼這個問題找到了以下工作:
爲什麼這些這麼糟糕的事是什麼?他們也打開服務器的風險是什麼?
爲什麼PHP中的超全球衛星仍然如此退縮?
它們可以用於什麼?
我已經通過Stack Overflow搜索了搜索欄,只有4個帖子指出這些是不好的東西打開。爲什麼Superglobals這麼壞的東西打開?
沒有完整的原因,爲什麼?
所以我張貼這個問題找到了以下工作:
爲什麼這些這麼糟糕的事是什麼?他們也打開服務器的風險是什麼?
爲什麼PHP中的超全球衛星仍然如此退縮?
它們可以用於什麼?
Superglobals不壞的,他們總是打開上。沒有它們,您將無法訪問諸如$_GET
或$_POST
之類的內容。
我懷疑你是在談論Register Globals,它們在PHP 5.3中被棄用,並在PHP 5.4中被刪除。他們毫不含糊。他們讓任何人在你的代碼中實例化任意的全局變量。有很多信息都是爲了說明爲什麼它們不好,直到在文檔中包含他們自己的頁面。
register_globals
全部自己不是問題。
它的組合:
執行的所有代碼在全球範圍內
決不初始化變量
有那麼隨機變量從外部輸入(register_globals的)發生。
不幸的是,這是常見的情況,以及它們是如何在PHP3/PHP4時代使用的。這就是爲什麼過度概括的meme「register_globals不好」實際上是正確的。
您可以在啓用它們的情況下編寫完美的代碼,但這是一個不必要的陷阱。
你的意思是「register_globals」? – 2013-02-24 15:34:27
您也可以嘗試使用[Google](http://www.google.com/search?q=Why+are+Superglobals+bad+thing)搜索 – Havelock 2013-02-24 15:35:12
您的意思是先閱讀您的'$ GLOBALS'變量,然後所有變量都放入了一些虛擬變量示例'$ ALLVARS',然後設置'unset($ GLOBALS)'來防止直接執行'$ GLOBALS'?只能通過用戶定義的變量讀取'$ GLOBALS'數據? – 2013-02-24 15:37:56