Blokada adresu IP przy pomocy .htaccess

Plik .htaccess umożliwia szeroki wachlarz możliwości konfiguracji przez użytkownika zachowania serwera www Apache. W tym artykule pomocy omówimy możliwości ograniczania dostępu do strony dla konkretnych adresów IP lub ich zakresów.

Lokalizacja pliku .htaccess

W przypadku, gdy na hostingu znajduje się kilka stron internetowych, każda z nich powinna zawierać w swoim katalogu osobny plik .htaccess, który definiuje ustawienia danej strony np. websites/wp_1/.htaccess. Plik taki ma zastosowanie wyłącznie dla danej strony internetowej i nie wpływa na inne witryny znajdujące się na hostingu

Istnieje jednak możliwość ustawienia konfiguracji, która będzie miała zastosowanie do wszystkich stron na hostingu edytując tylko jeden plik utworzony bezpośrednio w katalogu websites czyli websites/.htaccess.

Edycja pliku

Do edycji .htaccess najprościej wykorzystać dostępny w panelu klienta File Manager. Umożliwia on zarówno otwieranie i edytowanie już istniejących plików na koncie jak i tworzenie nowych. Nic nie stoi na przeszkodzie, by plik .htaccess przesłać na serwer poprzez FTP czy edytować z poziomu konsoli serwera SSH.

Blokada wybranego adresu IP

Przy pomocy liku .htaccess możemy zablokować dostęp do strony dla wybranego adresu IP. Robimy to wpisując na końcu pliku .htaccess poniższy kod:

order deny,allow
allow from all
deny from xxx.xxx.xxx.xxx

Oczywiście w powyższym przykładzie, zamiast ciągu xxx.xxx.xxx.xxx wpisujemy adres IP, który chcielibyśmy zablokować. W przypadku gdy chcemy zablokować więcej niż jeden adres IP, możemy dodawać kolejne linie zaczynające się od deny from i podawać kolejne adresy IP do blokady.

Istnieje również możliwość zablokowania całego zakresu adresów IP np. wszystkich IP zaczynających się od 123.234.231.*, wtedy modyfikujemy ostaną linię kodu w poniższy sposób:

deny from 123.234.231.0/24
Blokada IP .htaccess

Blokada wszystkich IP z wyjątkiem wskazanych

Opcje blokady można również odwrócić, to znaczy, że wszystkie niewymienione w pliku .htaccess adresy IP będą domyślnie zablokowane, a jedynie, te, które tam zawrzemy będą miały dostęp do naszej strony. Kod w .htaccess dla takiej opcji wygląda następująco:

order deny,allow
deny from all
allow from xxx.xxx.xxx.xx