【问题标题】:Deny php script to access parent directories拒绝 php 脚本访问父目录
【发布时间】:2023-04-02 07:40:01
【问题描述】:

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

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

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

【问题讨论】:

  • .htaccess 文件包含用于网络服务器的指令,它不会以任何方式限制 php,因此您仍然可以包含、显示和执行任何您想要的内容。

标签: php .htaccess


【解决方案1】:

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

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

【讨论】:

  • 谢谢@Zack,但我不知道如何在 cpanel 中做到这一点。我有一个共享的 Godaddy 托管帐户。我们能否请告诉我如何使用 .htaccess 在 Cpanel 中执行此操作。如果您能帮助我使用正确的代码,我会从堆栈溢出中获得该代码
猜你喜欢
  • 2017-10-22
  • 2012-08-13
  • 2012-01-12
  • 2017-03-17
  • 1970-01-01
  • 1970-01-01
  • 2011-10-26
  • 2013-11-11
  • 2017-08-05
相关资源
最近更新 更多