拒绝php脚本访问父目录

时间:2016-07-04 09:12:50

标签: php .htaccess

我创建了一个在线php编译器。问题是它使我的服务器容易受到黑客攻击。所以我想给编译器一个单独的目录,并限制php脚本只能访问该目录。 我试过这个

<Directory /parentDirectory/childDirectoryOne>
  php_admin_value open_basedir "/parentDirectory/childDirectoryOne"
</Directory>

但这造成了另一个问题。我不再能够打开网页了。它给了我内部服务器错误。 如果我可以限制php读取,编辑或删除目录外的文件也可以工作,或者如果我可以限制php读取,编辑或删除所有文件,只有一个例外。 我有网站的cpanel,所以我只能通过.htaccess。

1 个答案:

答案 0 :(得分:1)

这可以在操作系统级别完成。创建一个新用户,只授予他们访问编码目录的权限,并以该用户身份启动PHP进程。

但是你的代码错了open_basedir "/parentDirectory/subDir"意味着即使执行index.php脚本的PHP引擎也不能运行,如果它不在subDir中。您可以静态编码parentDirectory或使用上面的解决方案。在apache文件中存储open_basedir值不会阻止PHP-CLI或命令行执行。