7. Блокиране на така наречените „bad bots” и „site rippers”
Какво е „bad bot”? - отговорът не е еднозначен, но общо взето за такива се смятат автоматични програми - „роботи, паяци”, които повече вредят отколкото носят популярност на сайта ви (например събирачки на e-mail адреси).
„Site ripper” е програма, която трасира вашия сайт и сваля цялото му съдържание за offline използване. И в двата случая събраната информация може да се използва както добронамерено (индексиране от търсачките например), така и за нанасяне на вреди - спам, откриване на пробиви в защитите и други. Също така и в двата случая има излишно натоварване на сървъра, което може да доведе до невъзможност за нормален достъп до сайта. Обикновено „bad bots” се блокират чрез друг специален файл - „robots.txt”, но можете да използвате и
.htaccess. Въпросът е да знаете как да ги идентифицирате.
По-долу е даден код, който блокира достъпа на познатите bad bots и site rippers. Информацията е събрана от форуми по темата и разбира се няма как да е пълна, но спокойно можете да добавите този код във вашия .htaccess файл (разбира се, ако имате mod_rewrite):
CODE1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
| RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR]
RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]
RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]
RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]
RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR]
RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR]
RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]
RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR]
RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR]
RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR]
RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR]
RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR]
RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR]
RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR]
RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR]
RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR]
RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR]
RewriteCond %{HTTP_USER_AGENT} ^HMView [OR]
RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR]
RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR]
RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR]
RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR]
RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR]
RewriteCond %{HTTP_USER_AGENT} ^larbin [OR]
RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR]
RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR]
RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR]
RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR]
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR]
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR]
RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR]
RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR]
RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR]
RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR]
RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR]
RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR
RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR]
RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR]
RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR]
RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR]
RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR]
RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR]
RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR]
RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR]
RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Wget [OR]
RewriteCond %{HTTP_USER_AGENT} ^Widow [OR]
RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus
RewriteRule ^.* - [F,L]Bots |
Изброените в списъка програми ще получат като отговор „403 Forbidden”, което ще намали излишния трафик и евентуално ще ускори работата на вашия сървър. Ако отделите време да прегледате вашите лог-файлове, вероятно ще намерите какво да добавите към този списък.
8. Промяна на подразбиращата се страница
Подразбиращата се страница е тази, която се зарежда, когато изпишете като адрес в браузъра вашия домейн (mySite.com,
http://mySite.com,
http://www.mySite.com). Подразбираща се страница може да има и всяка директория от сайта. Вероятно сте свикнали с мисълта, че това е непременно index…., но чрез .htaccess можете лесно да зададете друга страница или последователност от страници които се търсят в зададения ред:
CODE1
| DirectoryIndex filename.html |
определя ако не е зададено друго, да се зареди filename.html.
CODE1
| DirectoryIndex filename.html index.cgi index.pl default.htm |
определя ако не е зададено друго, да се зареди първата намерена от изброените страници. Списъка се чете от ляво на дясно. Казаното се отнася не само за основната директория, а и за всяка друга от сайта. Например ако поставим .htaccess, който съдържа горния код в поддиректория /work и напишем в браузъра „http://www.mySite.com/work/”, то търсенето ще стане във /work и ще се зареди първата съществуваща от изброените страници.
9. Пренасочване
Всеки на когото се е налагало да променя или премества сайт без да се спира работата му се е сблъсквал с този проблем - как потребителите използващи старите адреси да се пренасочат към новите. Има различни начини: чрез включване на „http-equiv” тагове, javascript или сървърно базирани програми. Но има и по-лек начин и това е чрез
.htaccess. Този начин изисква минимална допълнителна работа и съответно по-малък риск от грешки.
Чрез командата Redirect в .htaccess можем да зададем в описателен вид обръщенията към определени страници или директории да се пренасочват към други URL:
CODE1
| Redirect /olddirectory/oldfile.html http://yoursite.com/newdirectory/newfile.html |
Както виждате пренасочването се състои от 3 части: командата Redirect; адресът който трябва да се пренасочи, записан като относителен спрямо корена; и пълния URL, където трябва да се пренасочи заявката. Трите части трябва да са отделени с интервал, но задължително трябва да са на един ред. Допустимо е пренасочване и на директории:
CODE1
| Redirect [i]olddirectory[/i] http://yoursite.com/newdirectory/ |