文章詳情頁
PHP安全-全局變量與注冊
瀏覽:78日期: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
上一條:PHP安全-錯誤報告下一條:我的PHP退役了
相關文章:
排行榜