我想禁用执行一些 php 函数,例如file_put_content
,exec
,eval
在特殊目录上。
我可以用disable_functions
在 php.ini 中,但如何定义一个特殊的文件夹,例如c:\poject\public
如果您的 php.ini 工作版本禁用了您想要的功能,那么您只需将该文件夹“链接”到该指定的 .ini 文件即可。这意味着您的 Web 服务器在从该目录提供文件时应该使用该特定的 .ini 文件而不是系统文件。
如果你使用Apache2作为服务器,可以找到解决方案here您可以为每个虚拟主机定义特定的 php.ini 文件。假设您的特定文件夹是/var/www/web1,您应该将禁用该功能的php.ini放入/var/www/web1并使用此Apache2配置
<VirtualHost 1.2.3.4:80>
[...]
PHPINIDir /var/www/web1
[...]
</VirtualHost>
如果您不熟悉或不使用 VirtualHosts(但仍在使用 Apache2),另一种可能的解决方案是将 PHP 配置放入文件夹中名为 .htaccess 的文件中,语法如下:
php_value disable_functions "file_put_content,exec,eval"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)