gpt4 book ai didi

apache - 如何 : Restrict url to specific IP using htaccess

转载 作者:行者123 更新时间:2023-12-02 01:06:38 25 4
gpt4 key购买 nike

我需要阻止类似于 www.domain.com/admin/login/的特定 URL?使用 htaccess 并授予仅访问特定 IP 地址的 url 的权限。

我们已经尝试过了,它部分有效。这 ”?”在 URL 中似乎有问题。当我包括?在 htaccess 中连同如下所示的 URL,它不会按照要求的方式工作。我在这里做错了什么?

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !=xxx\.xxx\.xxx\.xxx
RewriteRule admin/login/?$ / [R=301,L]

Existing htaccess

更新:我有一个自定义 CMS,它没有典型的树结构,即 http://www.mysite.com/folder 不对应于 /var/www/folder ,事实上 http://www.mysite.com/folder 根本没有单个文件或目录表示。因此 /folder 没有对应的 .htaccess 文件。我看不到如何将 URL 而不是目录附加到重写规则。以下是我一直在研究的重写概念:

这行得通吗?我在网上找到了这个:

<Location /folder>
Order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx
allow from xxx.xxx.xxx.xxx
</Location>

更新#2:问题已经解决。问题是由于我使用 Cloudflare 的原因。这使得所有请求都来自 cloudflare 的 url。在服务器上安装 mod_cloudflare 并使用以下脚本后,我成功地阻止了仅允许指定 IP 的公共(public)访问。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} ^(.*)admin(.*)$
RewriteCond %{REMOTE_ADDR} !^xxx\.xxx\.xxx\.xxx$
RewriteRule .* / [R=302,L]
</IfModule>

最佳答案

此规则应该适用于阻止该 URL:

RewriteEngine on

RewriteCond %{REMOTE_ADDR} !^xxx\.xxx\.xxx\.xxx$
RewriteRule ^admin/login/? - [F,NC]

更新:将此代码放在 /admin/.htaccess 中:

RewriteEngine on

RewriteCond %{REMOTE_ADDR} !^xxx\.xxx\.xxx\.xxx$
RewriteRule ^login/? - [F,NC]

关于apache - 如何 : Restrict url to specific IP using htaccess,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21794164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com