Ban i 403 za pomocą htaccess.

Przy pomocy pliku .htaccess, obsługiwanego przez serwer Apache, można zbanować dowolny numer IP, zakres numerów IP lub domenę, chroniąc naszą stronę internetową przed niechcianymi gośćmi. Tymi gośćmi mogą być różne roboty spamerów, lub niechcianych wyszukiwarek, lub sami spamerzy albo użytkownicy których po prostu nie chcemy na naszej stronie.

Wcześniej opisałem jak tworzyć subdomeny za pomocą htaccess. Dziś czas pokazać jak zbanować określone IP :-)

W pliku .htaccess należy dodać (bez spacji w Files…):

< Files 403.html >
order allow,deny
allow from all
< /Files >

A następnie wymienić wszystkie IP lub domeny których nie chcemy na naszej stronie:

deny from 69.42.67.196
deny from 4.79.248
deny from 20six.nl

Pierwsza linia deny from 69.42.67.196 daje bana konkretnemu IP 69.42.67.196.
Druga linia deny from 4.79.248 banuje wszystkie numery IP z przedziału 4.79.248.xxx.
Trzecia linia deny from 20six.nl banuje wejścia z konkretnej domeny, w tym przypadku 20six.nl (z której mam sporo spamowych komentarzy na blogu).

Od teraz wszyscy zbanowani użytkownicy dostaną komunikat 403 Forbidden page informujący o braku dostępu. Plik .htaccess oczywiście umożliwia stworzenie własnej strony błędu 403.

Wystarczy stworzyć dokument 403.html (przykładowo) w którym zawrzemy informację o braku dostępu do naszej strony. Następnie do pliku .htaccess dodajemy:

ErrorDocument 403 public/403.html

UWAGA! Dokument 403.html musi znaleźć się w katalogu do którego dostęp ma każdy – nawet zbanowani użytkownicy. W przeciwnym razie zobaczą białą stronę. W tym przypadku plik 403.html umieściłem w katalogu public/ innym niż znajduje się strona. Można również umieścić dokument 403.html na innym serwerze:

ErrorDocument 403 http://innyserwer.com/403.html