Jak lze zablokovat přístup na web podle IP adres?
Dobrý den,
do našeho webu běžícího na WordPressu se neustále někdo pokouší přihlásit jako admin. Sice se mu to nikdy nepodaří (nezná kromě hesla ani správný login), ale je to otravné. Jelikož web je určen výhradně pro české a slovenské čtenáře, bylo by možné na webhostingu nastavit nějakou geografickou filtraci podle IP adresy, např. povolit přístup ze všech zemí Evropy (včetně Británie, RF, Běloruska, Ukrajiny) plus Izrael, a všechno ostatní a priori zablokovat?
Děkuji
4 Answers
Zdravím,
1 IP adresu bych klidně blokoval přes .htaccess. U rozsahů už bych byl opatrnější.
Stačí tam dát:
Order Allow,Deny Allow from all Deny from 123.123.123.123
V každém případě jde umístit .htaccess rovnou do administrace WordPress (adresář /wp-admin/) a pak nebudou mít pravidla v něm vliv na návštěvníky webu. Chce to jen výjimku pro admin-ajax.php, protože to může rozbít některé pluginy.
<Files admin-ajax.php> Order allow,deny Allow from all Satisfy any </Files>
Pokud si netroufáte na editaci .htaccess umí to i bezpečnostní pluginy jako třeba WordFence. Tam se dá nastavit i třeba po X neúspěšných pokusech ban na IP adresu.
Geografickou filtraci nedoporučuji. Dát všechny rozsahy do .htaccess je spousta řádků a pak při každém requestu je to zpomalené. Já jsem takto zkoušel blokovat celou Čínu a vše se zpomalilo o vyšší stovky ms a to včetně souborů s CSS, JavaScript, obrázky atd..
Ještě mě napadá, pokud to zkouší nějaký robot, tak celkem efektivní je změnit adresu souboru s přihlašováním. Jsou na to pluginy, vyzkoušený ale žádný nemám.