2017-10-20 80 views
2

我已經在我的服務器成功安裝了Suhosin和我對一些virtualhosts此配置阻止惡魔PHP eval功能:禁用PHP EVAL在虛擬主機的每個位置

<VirtualHost 123.123.123.123:80> 
    <Directory /var/www/html/www.example.com> 
     #SUHOSIN 
     php_admin_value suhosin.executor.disable_eval On 
    </Directory> 
</VirtualHost> 

不過,我需要上啓用EVAL一些特定的URL,因爲它在某些特定情況下被平臺使用。我已經試過如下:

<VirtualHost 123.123.123.123:80> 
    <Directory /var/www/html/www.example.com> 
     # SUHOSIN 
     php_admin_value suhosin.executor.disable_eval On 
    </Directory> 
    <Location "/some/path"> 
     # Reenable eval for this path 
     php_admin_value suhosin.executor.disable_eval Off 
    </Location> 
</VirtualHost> 

而且還與標籤LocationMatch,沒有成功(這是一樣,如果它是不存在:完全沒有影響)。

任何想法如何讓這條指令只爲特定路徑工作?

感謝

回答

-1

我沒有使用了Suhosin,我解決了每個網站不同的php.ini文件。 類似於:

<VirtualHost 123.123.123.123:80> 
[...] 
PHPINIDir /path/to/specificinifile 
[...] 
</VirtualHost> 

希望這會有所幫助。

+0

感謝您的回答。也許不是最乾淨的,因爲php.ini文件有很多配置,並且可能難以維護,但我會在後面嘗試。希望它有幫助,謝謝! – Azurlake

+0

Aaah。我很抱歉,但這不起作用。在LocationMatch標籤之間不允許使用PHPINIDir:( – Azurlake