将允许的 IP 地址范围添加到 htaccess

Adding a range of allowed IP addresses to htaccess

我需要将 IP 地址添加到我的 .htaccess 以允许访问,如本问题所示。

Only allow certain IP addresses to access site with mod_rewrite?

但我需要能够将它们添加为一个范围,因为我有一些跨越很大的范围,单独输入它们会花费太长时间。有没有一种方法可以表达适用于这种格式的范围?

RewriteCond %{REMOTE_ADDR} !^XXX\.XXX\.XXX\.XXX

是的,有!

如果你想屏蔽某个范围内的 IP,那么你可以去掉 IP 地址的最后一个八位字节,例如:

RewriteCond %{REMOTE_ADDR} !^123\.123\.123

如果需要,您可以进一步缩短:

RewriteCond %{REMOTE_ADDR} !^123\.123

因此,例如,使用第一个选项,您将阻止 IP 范围 123.123.123.1 - 123.123.123.255。所以它涵盖了整个范围。

这也可以使用 .htaccess 中的 deny from 规则来实现。