我有一个与访问网站的ipv6地址相关的问题。apache日志显示了ipv4和ipv6下的客户端x-转发ips
本网站通过每个允许的子网的ipv4白名单在.htaccess下受到保护。
示例:
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前缀执行相同的操作,因为以下方法似乎不起作用
RewriteCond %{HTTP:X-FORWARDED-FOR} !^\[1234:123:123::/48\]
如果我在重写中指定了ipv6客户端ip,它就能正常工作。但只持续一段时间,直到他的ipv6地址被更新。
发布于 2020-12-12 00:11:43
你能不能试试:
RewriteCond expr "! %{HTTP:X-FORWARDED-FOR} -ipmatch '1234:123:123::/48'"
这意味着Apache 2.4本机(即不使用_expr_ession) RewriteCond
不处理IP范围/CIDR表示法。
发布于 2020-12-12 02:20:41
它没有起作用。
我不能使用下面的正则表达式来实现它吗?应用与上面列出的ipv4条件相同的原则,其中表示X-Forwarded-for的值的子字符串?
RewriteCond %{HTTP:X-FORWARDED-FOR} !^1234:123:123
https://stackoverflow.com/questions/65254524
复制相似问题