Botok tiltása .htaccess segítségével
Weboldalunk látogatói között akadhatnak olyan botok, amelyek látogatása számunkra nem kívánatos, ezeket, amennyiben a robots.txt -ben megadott irányelveinket nem veszik figyelembe .htaccess fájlban is tilthatjuk Apache webkiszolgáló használata esetén.
Az első megközelítésben egy egyszerű errordocument -et állítunk be, hogy annak a legenerálása se terhelje a kiszolgálót, majd a felsorolt TiltottBot -okat egyszerűen visszautasítjuk.
ErrorDocument 401 "Denied"
ErrorDocument 403 "Denied"
RewriteCond %{HTTP_USER_AGENT} ^.*(TiltottBot1|TiltottBot2|TiltottBot3).*$ [NC]
RewriteRule .* - [F,L]
A második lehetőség az itoctopus.com írása alapján az, hogy a bot saját localhost címére irányítjuk. Ez esetben a bot saját magához igyekszik majd kapcsolódni ami késlelteti vélhetően az újra kapcsolódás idejét, ezzel is spórolhatunk webtárhelyünk erőforrásaival. A .htaccess fájlba ebben az esetben ez írandó:
RewriteCond %{HTTP_USER_AGENT} ^.*(BadBot1|BadBot2|BadBot3|BadBot4|BadBot5).*$ [NC]
RewriteRule ^/?.*$ "http\:\/\/127\.0\.0\.1" [R,L]
Harmadik lehetőség, ha minden botot válogatás nélkül tiltani szeretnénk, akkor például az alábbi kód segítségével tehetjük meg ezt hatékonyan:
ErrorDocument 401 "Denied"
ErrorDocument 403 "Denied"
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^.*(bot|crawl|spider).*$ [NC]
RewriteRule ^ - [F]
A felsorolt lehetőségek olyan esetben működnek, amikor a bot a user agent leírásban közli magáról, hogy bot. Amikor ez az információ rejtve marad, mert másnak adja ki magát, akkor mindössze ip cím alapján tilthatjuk előzetesen, ha az ismert.
Az ettől szofisztikáltabb tiltási megoldásokhoz jellemezően más is szükséges a .htaccess fájl szerkesztésén kívül.
2025.09.26