我想限制通过 IP 对 apache 文件夹的访问 - 可以吗?

我想限制通过 IP 对 apache 文件夹的访问 - 可以吗?

我在媒体上传文件夹中使用这个简单的 .htaccess 文件,以便客户查看已上传的内容。

Options +Indexes
IndexOptions +FancyIndexing

是否可以添加指令以限制仅对少数 IP 进行访问?通常我们并不太担心这些 IP 的安全性,这就是为什么我们不使用用户/密码设置来保护它们。但是,一点点安全性不会有什么坏处 :)

附加问题...(这里真的暴露了我缺乏 Apache 配置知识):是否可以设置 if..else 类型,以便如果访问者没有可识别的 IP,他们就会被重定向到特定页面。

干杯!Ben

答案1

如果你想通过 IP 进行限制,只需添加

<Directory /path/to/the/folder>
            Options +Indexes
            IndexOptions +FancyIndexing
            Order deny,allow
            Deny from all
            Allow from X.X.X.X
</Directory>

如果 IP 地址有规律,您也可以简化规则。例如,如果您想允许以 192 开头的 IP。

然后

Allow from 192 

将允许所有以 192 开头的 IP。

附加问题:您不仅想阻止来自外部网络的页面加载,还想将它们发送到不同的页面,apache 的 mod_rewrite 模块可以提供帮助。假设您的本地网络是 192.168.1.0/24:

RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^192\.168\.1
RewriteCond !^/page_to_redirect
RewriteRule .* /page_to_redirect [R,L]

玩一玩。

答案2

因为这是 Goggle 索引中第一个“apache 目录仅允许 ip”的列表,也适用于那些想要限制 IP 访问的人。如果您使用的是 Apache 2.3 或更高版本,则应该使用要求指示。

摘自 Apache 文档:

Require all granted
    Access is allowed unconditionally.
Require all denied
    Access is denied unconditionally.
Require env env-var [env-var] ...
    Access is allowed only if one of the given environment variables is set.
Require method http-method [http-method] ...
    Access is allowed only for the given HTTP methods.
Require expr expression
    Access is allowed if expression evaluates to true.

Some of the allowed syntaxes provided by mod_authz_user, mod_authz_host, and mod_authz_groupfile are:

Require user userid [userid] ...
    Only the named users can access the resource.
Require group group-name [group-name] ...
    Only users in the named groups can access the resource.
Require valid-user
    All valid users can access the resource.
Require ip 10 172.20 192.168.2
    Clients in the specified IP address ranges can access the resource. 

需要指令文档链接:https://httpd.apache.org/docs/2.4/mod/mod_authz_core.html#require

另请参见此处:https://httpd.apache.org/docs/2.4/howto/access.html

有关索引选项,另请参阅:https://httpd.apache.org/docs/2.4/mod/mod_autoindex.html

相关内容