在htaccess中使用mod访问阻止多个ip范围

Arc*_*rco 9 apache ip .htaccess range mod-access

我从apache网站上阅读了这个指南,但是我有点困惑,我试图用这种语法禁用一些范围:

order allow,deny
deny from 127.0.55.0/127.0.75.255
deny from 127.0.235.0/127.0.255.255
allow from all

但我认为它不能正常工作,可能是语法错误或者我以错误的方式使用它,我应该在htaccess中写这个文本?在其他线之前或之后?在同一个htaccess文件中也有一些mod重写脚本(用于反链接).

d-s*_*yer 13

我使用apache文档来回答这个问题.

您可以使用ip/netmask对给出地址范围:

deny from 127.0.55.0/24
Run Code Online (Sandbox Code Playgroud)

但是,由于范围55-75不是2的幂,我不知道如何从它们中取出范围.我会添加几条规则.

order allow,deny
deny from 127.0.55.0/24  // Matches 55
deny from 127.0.56.0/21  // Matches 56 to 64
deny from 127.0.64.0/21  // Matches 64 to 71
deny from 127.0.72.0/22  // Matches 72 to 75

deny from 127.0.235.0/24 // Matches 235
deny from 127.0.236.0/22 // Matches 236 to 239
deny from 127.0.240.0/21 // Matches 240 to 255
allow from all
Run Code Online (Sandbox Code Playgroud)

应该管用.

注意://在粘贴到htaccess之前删除注释

  • 在 apache 2.4 `deny from` 上被 `Require not ip` 源更改:https://httpd.apache.org/docs/2.4/fr/howto/access.html (2认同)