【问题标题】:How to disallow PHP file requests from outside web server on shared hosting如何在共享主机上禁止来自外部 Web 服务器的 PHP 文件请求
【发布时间】:2018-02-06 07:57:23
【问题描述】:

如果您与像 GoDaddy 这样的提供商有一个共享主机计划,但没有完全访问服务器的权限,我可以做些什么来禁止外部 HTTP 请求 *.php 文件?

如果有人有共享主机或 GoDaddy 的经验,我们将不胜感激。我使用 GoDaddy,我唯一能尝试的就是弄乱 php 文件的用户/组/世界权限,但没有任何组合可以实现仅服务器访问文件。而且,显然,我无权访问 apache 服务器的配置文件,这是最简单的解决方案。

【问题讨论】:

  • 700 文件夹。
  • 我不清楚你想要达到什么目的。如果您不希望任何人访问您的文件,为什么他们一开始就在主机上?
  • 您是否只能访问服务器上公开的目录?我建议任何提供商/主机的任何计划都具有一定数量的磁盘空间并具有特定的目录结构,其中一些暴露在网络中。只需将您的仅服务器脚本放在此目录之外.. 可能是我错了..
  • 将文件放在网络根目录之外——这是标准方法

标签: php apache http file-permissions web-hosting


【解决方案1】:

对 *.php 文件的外部 HTTP 请求

我将此解释为来自您愿意与之共享页面的一组人之外的请求。您想限制对您网站的访问。

最简单的方法 -

在 DocumentRoot 中使用 .htaccess 文件,通过 IP 地址限制访问(如果您愿意强制所有使用这些文件的人从一组有限的 IP 地址工作)

https://httpd.apache.org/docs/current/howto/htaccess.html

对于 Apache 2.2,在 .htaccess 文件中,放入

Order Deny,Allow
Deny from all
Allow from 1.2.3.4 

对于 Apache 2.4,使用

Require ip 1.2.3.4

另一个快速的解决方案是使用 .php 文件对目录进行密码保护。配置如下所示:

AuthType Basic
AuthName "Restricted Files"
# (Following line optional)
AuthBasicProvider file
AuthUserFile "/usr/local/apache/passwd/passwords"
Require user goodguy

https://httpd.apache.org/docs/current/howto/auth.html#lettingmorethanonepersonin

您可能希望找到具有 SSH 访问权限的主机以提供更多控制权。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-10
    • 2021-06-26
    • 2013-07-15
    • 2013-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多