2013-08-22 11 views
9

czytam instrukcji od apache miejscu, ale jestem nieco zdezorientowany, staram zakazać pewnych zakresów przy użyciu następującej składni:Blokowanie wielu zakresów IP za pomocą mod dostęp w htaccess

 
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 

Ale myślę, że to nie działa poprawnie, prawdopodobnie składnia jest nieprawidłowa lub używam go w niewłaściwy sposób, gdzie powinienem napisać ten tekst w htaccess? przed innymi liniami lub po? w tym samym pliku htaccess jest też skrypt modyfikujący mod (dla anty-hotlinkingu).

Odpowiedz

12

Doszedłem do tej odpowiedzi, używając apache documentation.

Można podać zakres adresów IP przy użyciu pary/maski sieci:

deny from 127.0.55.0/24 

Ponieważ jednak zakres 55 - 75 nie są potęgą dwójki, nie widzę jak zrobić szereg z nich. Dodałbym kilka zasad.

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 

powinien działać.

NB: Usuń komentarze po // przed wklejeniem do htaccess

+0

Jestem trochę newbie na temat adresów IP i htaccess, myślałem, że numery w OD są w porządku rosnącym, jak: 127.0.55.0, 127.0.55.1 , 127.0.55.2 itd., Czy to nie tak? – Arco

+0

Pewnie, że tak. To, co napisałem w mojej odpowiedzi, to pary IP/Netmask. Maska sieci umożliwia grupowanie adresów IP (podobnie jak filtr lub wyrażenie regularne w tekście, maska ​​sieci działa na adresie IP). więc 127.0.55.0/255.255.255.0 pasuje 127.0.55. *; natomiast 127.0.56.0/255.255.248.0 pasuje 127.0.64.0 do 127.0.71.255 –

+1

Aby uzyskać więcej informacji: [tutaj] (http://www.dslreports.com/faq/15216) to krok po kroku w obliczaniu podsieci maska. –