1. Home
  2. Hosting
  3. Bezbednost
  4. Botovi (crawlers) i blokiranje loših botova

Botovi (crawlers) i blokiranje loših botova

Sadržaj

Sajtovi se svakodnevno pretražuju putem pretraživača od strane botova, kao što su Googlebot, Msnbot, YandexBot, Bingbot i drugi. Ovi botovi indeksiraju sadržaj veb sajtova kako bi pružili preciznije rezultate pretraživanja. Oni se trude da pretražuju što je moguće više i, ako je moguće, sve stranice Vašeg veb sajta. Možete odabrati koje direktorijume botovi neće pretraživati koristeći fajl robots.txt u glavnom (root) direktorijumu veb sajta.

Pre nego što započne pretraživanje sajta, robot proverava fajl robots.txt odakle dobija informaciju koji direktorijumi se mogu indeksirati, a koji ne. Sintaksa datoteke fajla je prilično jednostavna:

User-agent: *
Disallow: /

User-agent opisuje na koji bot se odnose navedena ograničenja, a Disallow prikazuje zabranjene direktorijume. U ovom primeru zamenski (wildcard) znak (*) služi da ukaže da se pravila primjenjuju na apsolutno sve botove, a Disallow: / uskraćuje pristup glavnom (root) direktorijumu, i svim njegovim poddirektorijumima. Ako ispustite „/“ u Disallow, to će značiti da ne postoji ograničenje na nivou direktorijuma i botovi su slobodni da pretražuju sve direktorijume na Vašem hosting nalogu.

Na primer, da biste ograničili pristup Googlebot-u do /admin direktorijuma, robots.txt fajl bi trebalo da izgleda ovako: 

User-agent: Googlebot
Disallow: /admin

Takođe možete zabraniti pristup određenom fajlu: 

User-agent: Googlebot
Disallow: /DirectoryName/FileName.html

Ako niste sigurni u tačno ime robota koji želite da ograničite, možete ga videti u statistikama Awstats ili u Raw Access logovima sajta. Detaljnije informacije o robots.txt fajlu i kako ga koristiti možete pronaći na sledećoj adresi:

http://www.robotstxt.org/robotstxt.html

Sajt takođe sadrži spisak velikog broja robota i kratak opis svakog. 

Loši botovi

Postoje i drugi botovi, čije indeksiranje ne donosi pozitivne rezultate za bolje pozicioniranje veb-sajta, već naprotiv – sajt se skenira radi pokušaja zloupotrebe. Ovo uključuje probijanje sigurnosti, postavljanje SPAM-a u kontakt obrasce, prikupljanje imejl adresa na koje se zatim šalje SPAM i još mnogo toga. Takve robote nazivamo lošim robotima. Za njih možemo koristiti .htaccess fajl ako želimo da im ograničimo pristup.

Efikasna metoda blokiranja loših robota je upotreba User-agent-a koji predstavlja robota. Možete ograničiti User Agent-e uz pomoć Rewrite pravilima (Rewrite Rules) u .htaccess fajlu:

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^(.*)Surfbot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)ChinaClaw [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)Zeus [NC]
RewriteRule .* - [F]

U gornjem primeru, roboti Surfbot, ChinaClaw i Zeus će primiti poruku 403 Forbidden kada pokušaju pristupiti sadržaju direktorijuma koji sadrži .htaccess fajl. Takođe možete dodati još robota dodavanjem [OR] na kraju svakog reda, osim poslednjeg User-agent-a. (Ipak, moramo spomenuti da dodavanje previše pravila u .htaccess fajl u nekim slučajevima može da uspori učitavanje veb-sajta).

Uz takvo blokiranje, poželjno je imati stranice sa greškom 404 Not Found и 403 Forbidden. U slučaju da se te stranice ne generišu dinamički od strane Vašeg sistema, to može dovesti do nepotrebnog dodatnog opterećenja. 

Drugi način za blokiranje putem User-agent-a je da ponovo upotrebite SetEnvIfNoCase u .htaccess fajlu. Evo primera: 

SetEnvIfNoCase User-Agent "^(.*)Surfbot" bad_bot
SetEnvIfNoCase User-Agent "^(.*)ChinaClaw" bad_bot
SetEnvIfNoCase User-Agent "^(.*)Zeus" bad_bot
<Limit GET POST HEAD>
 Order Allow,Deny
 Allow from all
 Deny from env=bad_bot
</Limit>

U prvom slučaju se definišu User-agent-i, koji će biti prepoznati kao loši, a drugi deo blokira sve zahteve (GET, POST, HEAD) upućene od strane navedenih botova.




Updated on 22. August 2022.

Was this article helpful?

Related Articles