【问题标题】:How to make a PHP file visible only to localhost, 404 for other IPs, using Apache2如何使用 Apache2 使 PHP 文件仅对 localhost 可见,其他 IP 为 404
【发布时间】:2016-07-01 18:30:09
【问题描述】:

我正在尝试限制哪些 IP 可以访问用于管理我系统的 MySQL 服务器的 example.com/adminer.php。

我一直在尝试使用 apache 的 conf 文件、设置或工具来实现这一点,以便以后可以将此方法应用于其他文件或目录。

我已经按照网站上的说明安装了 Adminer,除了无法将其限制为 localhost 之外,一切似乎都运行良好。

我尝试在 apache2 security.conf 文件中添加以下内容,但重启后没有成功。

系统:Debian 8.1

<Files /adminer.php>
   Order Deny,Allow
   Deny from all
   Allow from localhost
</Files>

【问题讨论】:

  • 仅使用 IP 来保护文件\目录是不安全的
  • 在上面你想使用IP而不是localhost
  • 这里已经为您提供了解决方案。 stackoverflow.com/a/13938692/1297615
  • @BobGao 不完全是我想要的,它使用 .htaccess 并且没有解释如何在我的案例 adminer.php 中限制对特定文件的访问。我希望看到一个完整的 apache security.conf 文件,其中包含基于 ip 的黑名单。

标签: php apache security debian localhost


【解决方案1】:

我能想到的一种快速方法是在 php 文件中插入一些代码。

<?php
if ( ! ($_SERVER['HTTP_HOST'] == 'localhost' || $_SERVER['REMOTE_ADDR'] == '127.0.0.1') ) {
    header("HTTP/1.1 404 Not Found");   
    exit();
}

http://php.net/manual/en/function.header.php

【讨论】:

    猜你喜欢
    • 2014-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    • 2017-02-10
    • 2011-09-05
    • 2020-09-19
    • 2010-11-10
    相关资源
    最近更新 更多