專業的油漆工程,裝潢設計之首選,室內外油漆粉刷 外牆防水施工等服務,20年經驗有口皆碑 | ![]() | 專業鐵工團隊,給你一流品質,鐵皮屋、鐵厝、鋼構屋 免費諮詢、價格合理、免費估價 |
PHP 5.4 或以上重現 Register Globals |
房東:小傑 ![]() 發表時間:2020-10-22 | [檢舉] |
很久以前的 PHP 預設開啟 Register Globals 選項, 這樣寫程式就很方便, 但這個方便也帶來安全性問題, 所以後來 PHP 預設會將 Register Globals 關閉, 對於一些要開啟 Register Globals 的程式, 在不修改程式碼的情況下, 還可以透過修改 php.ini 或 .htaccess 的方法解決。 但在 PHP 5.4 開始, PHP 開發團隊將 Register Globals 刪除, 所以很多要靠開啟 Register Globals 才能執行的程式, 在 PHP 5.4 或以後的版本便失效了, 我知道有些主機是為了讓舊 PHP 程式執行, 會不顧安全風險, 編譯舊版的 PHP 使用。 當然最好的方法還是修改舊有 PHP 程式碼, 不用靠 Register Globals 也能執行, 但修改程式碼也要花一點時間, 以下分享一個不用修改程式碼的解決方法, 對需要在短時間解決 Register Globals 問題是很好的臨時方案。 先在網頁目錄建立一個 PHP 檔案, 以下取名為 globals.php, 加入以下內容: foreach ($_REQUEST as $key => $val) { ${$key} = $val; } ?> foreach ($_REQUEST as $key => $val) { ${$key} = $val; } ?> 然後建立 .htaccess 檔案, 如果而經有 .htaccess, 可以直接開啟, 加入以下內容: php_value auto_prepend_file ./globals.php 以上 .htaccess 的設定, 看到設定了 PHP 的 auto_prepend_file 選項, 指定網頁目錄下所以 PHP 程式在執行時, 會先載入 globals.php 檔案, 效果等同在每個 PHP 檔案加入一句 include ‘globals.php’ 一樣。 然後該目錄下的檔案便可以使用 Register Globals 的方法使用變數。 |
廣利不動產-板橋在地生根最實在--新板特區指名度最高、值得您信賴的好房仲 完整房訊,房屋、店面熱門精選物件,廣利不動產 優質仲介,房屋租賃、買賣資訊透明,交易真安心! 廣利不動產-新板特區指名度最高、值得您信賴的好房仲 您的托付,廣利用心為您服務 |