文章詳情頁
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
上一條:PHP安全-錯誤報告下一條:我的PHP退役了
相關文章:
1. ASP中常用的22個FSO文件操作函數整理2. 無線標記語言(WML)基礎之WMLScript 基礎第1/2頁3. ASP調用WebService轉化成JSON數據,附json.min.asp4. .Net core 的熱插拔機制的深入探索及卸載問題求救指南5. SharePoint Server 2019新特性介紹6. html清除浮動的6種方法示例7. asp的SQL語句中and和or同時使用的注意事項8. 讀大數據量的XML文件的讀取問題9. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執行過程解析10. React+umi+typeScript創建項目的過程
排行榜
