2011-09-20 53 views
-2

我想知道如何關閉一個php文件的register_globals?就像有沒有任何代碼能夠關閉配置文件中的register_globals功能?通過php文件關閉register_globals

+2

谷歌「register_globals」,第一個結果。你嘗試過嗎? – Jon

+0

我試過埃夫裏碼,但似乎沒有工作。 – Sanks

+0

@Sanks:我很確定你的網站是* not * google.com。您的個人資料中的字段是可選的,因此請將其留空 – ThiefMaster

回答

2

如果你使用PHP作爲Apache模塊,你可以把一個指令中的.htaccess文件(或httpd.conf文件),僅限於文件或文件你想:

<FilesMatch "^foo\.php$"> 
php_flag register_globals off 
</FilesMatch> 

其他SAPIs有其他機制。 CGI/FPM可以使用每個目錄的php.ini。

但是,該選項不能在PHP腳本中禁用(運行時)。

+0

我沒有權限編輯.htaccess文件。我想要一個PHP腳本的代碼.. – Sanks

+1

@Sanks你讀過最後一句嗎? – Artefacto

0

這是不可能這樣做通過在PHP腳本本身。當第一行被執行時,全局變量已經被創建。你能做的唯一的事是別人做任何事情之前他們解封:

foreach($_REQUEST as $var => $value) { unset($GLOBALS[$var]); } 

但是,如果你的ISP已經啓用了register_globals,甚至不允許使用的.htaccess你最好找一個新的。