如何通过 IP 限制对特定重写的访问
Posted
技术标签:
【中文标题】如何通过 IP 限制对特定重写的访问【英文标题】:How to restrict access to a specific rewrite by 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 文件。感谢您提供的任何帮助。
【问题讨论】:
【参考方案1】:使用 mod_rewrite,对任何以 /XZY
开头且不是来自指定 IP 地址的请求的 URL 响应 403 Forbidden:
RewriteEngine On
RewriteCond %REMOTE_ADDR !=203.0.113.111
RewriteRule ^XZY($|/) - [F]
在任何现有的重写之前,任何像这样的阻塞指令都需要靠近 .htaccess
文件的顶部。
注意:这假设客户端直接连接到您的应用程序服务器。但是,如果您使用的是 CDN(例如 Cloudflare)、负载均衡器或前端缓存代理,那么您可能需要检查请求的另一个元素,因为客户端没有直接与您的服务器连接(代理是)。
【讨论】:
以上是关于如何通过 IP 限制对特定重写的访问的主要内容,如果未能解决你的问题,请参考以下文章