2009-12-09 24 views
2

有沒有辦法在php.ini文件中禁用eval函數。 我試過ini_set函數,但即使這樣也行不通。如何禁用eval函數而不需要php.ini文件?

基本上我希望我的框架用戶決定是否應該通過配置文件啓用此功能。如果他們說不,我應該能夠使用代碼禁用它,因爲我無法訪問安裝了框架的每個用戶的服務器,並使用php.ini文件禁用它。

正如我所說沒有goint到php.ini文件,所以ini指令disable_functions不應該張貼在答案。

請幫助。

回答

7

它不起作用,因爲eval()不是函數 - 它是一種語言結構。您可以使用suhosin(一種PHP的保護系統)將其禁用。這是我知道的唯一途徑。

從PHP.net:

Note: Because this is a language construct and not a function, 
it cannot be called using variable functions 
1

如果這是mod_php(不是CGI)與apache,.htaccess將工作。除此之外......運氣不好。

0

我想你可以撥打override_function一個沒有任何作用的新功能。 (req APD)

+7

它不是一個函數,它是一種語言結構。 – 2009-12-09 09:28:51

相關問題