您的位置:首頁技術文章
文章詳情頁

PHP安全-全局變量與注冊

瀏覽:98日期:2022-09-12 10:49:40
1. 全局變量注冊

如果您還能記起早期WEB應用開發中使用C開發CGI程序的話,一定會對繁瑣的表單處理深有體會。當PHP的register_globals配置選項打開時,復雜的原始表單處理不復存在,公用變量會自動建立。它讓PHP編程變得容易和方便,但同時也帶來了安全隱患。

事實上,register_globals是無辜的,它并不會產生漏洞,同時還要開發者犯錯才行??墒牵袃蓚€主要原因導致了您必須在開發和布署應用時關閉register_globals:

第一,它會增加安全漏洞的數量;

第二,隱藏了數據的來源,與開發者需要隨時跟蹤數據的責任相違背。

本書中所有例子都假定register_globals已被關閉,用超級公用數組如$_GET 和 $_POST取而代之。使用這些數組幾乎與register_globals開啟時的編程方法同樣方便,而其中的些許不便是值得的,因為它提高了程序的安全性。

小提示

如果您必須要開發一個在register_globals開啟的環境中布署的應用時,很重要的一點是您必須要初始化所有變量并且把error_reporting 設為 E_ALL(或 E_ALL | E_STRICT)以對未初始化變量進行警告。當register_globals開啟時,任何使用未初始化變量的行為幾乎就意味著安全漏洞。

標簽: PHP
相關文章:
国产综合久久一区二区三区