首頁  >  文章  >  後端開發  >  PHP安全-全域變數與註冊

PHP安全-全域變數與註冊

黄舟
黄舟原創
2017-02-23 09:25:211366瀏覽


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中文網(www.php.cn)!


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