阻止 .htaccess 中的多个 IP 对 URL 路径的访问

阻止 .htaccess 中的多个 IP 对 URL 路径的访问

我只能.htaccess这样使用<Location><Directory>不可能。

我目前正在使用它来阻止 IP 访问:

<RequireAll>
  Require all granted
  Require not ip 1.0.132.75
  Require not ip 1.0.209.198
  Require not ip 1.0.209.229
  # ... many more IPs

我想阻止这些 IP 仅访问某个路径,即可在/typo3//访问的 PHP 登录/typo3/index.php。但把所有东西都挡在下面/typo3也可以。

我当然可以使用这个,但我希望有一个更短、更简洁的变体:

RewriteCond %{REMOTE_ADDR} "=1.0.132.75"
RewriteRule "^/typo3" "-" [F]

好吧,现在我正在写它,我发现

RewriteCond %{REMOTE_ADDR} "1\.0\.132\.75|1\.0\.132\.76|..."
RewriteRule "^/typo3" "-" [F]

但正则表达式会很长(约 3000 个 IP)。也许有更好的解决方案。

答案1

这是可能的。我将问题留在这里供其他人发现并添加。

RewriteCond %{REMOTE_ADDR} "=1.0.132.75" [OR]
RewriteCond %{REMOTE_ADDR} "=1.0.132.76"
RewriteRule "^/typo3" "-" [F]

相关内容