【问题标题】:How to restrict access to a specific rewrite by IP如何通过 IP 限制对特定重写的访问
【发布时间】:2022-01-17 02:30:06
【问题描述】:

我有一个网站,我通过 htaccess 重写动态创建 URL。我要做的是根据访问者的 IP 地址限制 URL。

例如,我试图限制对 XYZ“子文件夹”中的任何重写的访问

These should all be restricted to a specific IP    
www.domain.com/XZY
www.domain.com/XZY/anotherfile.html
www.domain.com/XZY/anotherfolder

但不限制任何其他重写

These should all be accessible    
www.domain.com/ABC
www.domain.com/greatfile.html
www.domain.com/ABC/greatfolder

XYZ 文件夹实际上并不存在,因此我无法在其中放置 htaccess 文件。感谢您提供的任何帮助。

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    使用 mod_rewrite,对任何以 /XZY 开头且不是来自指定 IP 地址的请求的 URL 响应 403 Forbidden:

    RewriteEngine On
    
    RewriteCond %{REMOTE_ADDR} !=203.0.113.111
    RewriteRule ^XZY($|/) - [F]
    

    在任何现有的重写之前,任何像这样的阻塞指令都需要靠近 .htaccess 文件的顶部。

    注意:这假设客户端直接连接到您的应用程序服务器。但是,如果您使用的是 CDN(例如 Cloudflare)、负载均衡器或前端缓存代理,那么您可能需要检查请求的另一个元素,因为客户端没有直接与您的服务器连接(代理是)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-18
      • 1970-01-01
      • 2021-12-16
      • 2011-05-13
      • 1970-01-01
      • 2017-05-08
      • 1970-01-01
      相关资源
      最近更新 更多