吸引顧客視線,好的廣告招牌很重要
各式招牌客製設計、製作,現場免費估價請洽!
系統傢俱各式廠商輕鬆找,不怕你比價,免費刊登
鎖定客群,強力放送,品牌竄紅就靠這一招

首頁  •  j2h 論壇 • 程式設計討論     • 

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 的方法使用變數。



  • 贊助網站       

    廣利不動產-板橋在地生根最實在--新板特區指名度最高、值得您信賴的好房仲
    完整房訊,房屋、店面熱門精選物件,廣利不動產 優質仲介,房屋租賃、買賣資訊透明,交易真安心!
    廣利不動產-新板特區指名度最高、值得您信賴的好房仲
    您的托付,廣利用心為您服務



  •  共 0 人回應

    姓名:
    佈告內容: