首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >.htaccess下ipv6子网的RewriteCond

.htaccess下ipv6子网的RewriteCond
EN

Stack Overflow用户
提问于 2020-12-11 23:52:58
回答 2查看 197关注 0票数 0

我有一个与访问网站的ipv6地址相关的问题。apache日志显示了ipv4和ipv6下的客户端x-转发ips

本网站通过每个允许的子网的ipv4白名单在.htaccess下受到保护。

示例:

代码语言:javascript
运行
复制
RewriteCond %{HTTP:X-FORWARDED-FOR}  !^123\.45\.67
RewriteCond %{HTTP:X-FORWARDED-FOR}  !^123\.45\.68
RewriteCond %{HTTP:X-FORWARDED-FOR}  !^123\.45\.69

我如何对ipv6前缀执行相同的操作,因为以下方法似乎不起作用

代码语言:javascript
运行
复制
RewriteCond %{HTTP:X-FORWARDED-FOR}  !^\[1234:123:123::/48\]

如果我在重写中指定了ipv6客户端ip,它就能正常工作。但只持续一段时间,直到他的ipv6地址被更新。

EN

回答 2

Stack Overflow用户

发布于 2020-12-12 00:11:43

你能不能试试:

代码语言:javascript
运行
复制
RewriteCond expr "! %{HTTP:X-FORWARDED-FOR} -ipmatch '1234:123:123::/48'"

这意味着Apache 2.4本机(即不使用_expr_ession) RewriteCond不处理IP范围/CIDR表示法。

票数 1
EN

Stack Overflow用户

发布于 2020-12-12 02:20:41

它没有起作用。

我不能使用下面的正则表达式来实现它吗?应用与上面列出的ipv4条件相同的原则,其中表示X-Forwarded-for的值的子字符串?

代码语言:javascript
运行
复制
RewriteCond %{HTTP:X-FORWARDED-FOR}  !^1234:123:123
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65254524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档