Сегодня, когда я искал журналы этого домена, я нашел следующее
- 3768 Яндекс/1.01.001 (совместимый; Win16; I)
- 4472 StackRambler/2.0 (несовместим с MSIE)
- 6851 Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4
- 7365 Opera/9.62 (Windows NT 5.1; U; ru) Presto/2.1.1
- 8089 Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.0.6) Gecko/2009020911 Ubuntu/8.04 (жесткий) Firefox/3.0.6
- 8965 Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1a2) Gecko/20080829071937 Shiretoko/3.1a2
- 12667 Mozilla/4.0 (совместимый; MSIE 6.0; Windows NT 5.1)
Он оказался непрошитым MSIE 6.0 самый частый посетитель моего сайта, посвященного Linux, программированию, гимпу и технофашизму. Но, как известно пользователям MSIE 6.0 являются несгибаемыми идиотами и проводят все свое время на порносайтах и других браузерных играх. Я, конечно, заподозрил неладное и начал анализировать логи:
ls |sort |xargs bzcat | awk '{print $7}'|sort |uniq -c |sort -n|tail -5
- 4279 /images/rss.png
- 6015 /блог/id/66/
- 6129 /блог/идентификатор/157
- 7702 /blog5.css
- 8078 /mag/ffjs.js
Если в 1.2 и 5 все понятно, то непонятно почему статья про Lexx и mod_rewrite так популярна, тогда я сделал следующее:
ls |sort |xargs bzcat | awk '{print $7}'|grep /blog/| sort |uniq -c |sort -n|tail
- 191 /блог/id/176
- 225 /блог/идентификатор/76
- 229 /блог/статистика/час
- 284 /блог/идентификатор/88
- 324 /блог/короткий/Gimp
- 409 /блог/статистика/система
- 1931 /Блог/
- 2003 /блог/id/107
- 6015 /блог/id/66/
- 6129 /блог/идентификатор/157
Здесь уже хорошо видно, что эти страницы заспамлены. Раньше там в комментариях регулярно выкладывали спам, но с появлением фильтра спам пропал, но видимо тупые вендузиатники продолжают пробить эти урлы
В общем, я решил заблокировать доступ к этим страницам для всех идиотов, причем очень просто:
Во-первых, идиоты используют Mozilla/4.0 (совместимый; MSIE 6.0; Windows NT 5.1)
Во-вторых, mod_rewrite нам поможет
Правила для моего блога находятся в отдельной папке /blog/.htaccess, поэтому туда нужно добавлять новые правила
RewriteCond %{HTTP_USER_AGENT} MSIE RewriteCond %{REQUEST_URI} blog/id/(66|107|157) RewriteCond %{HTTP_REFERER} ^$ RewriteRule .* - [F]
В первом условии выбираем всех рывков, пользователей MSIE
На втором шаге мы выбираем запросы, которые соответствуют blog/id/66 blog/id/107 blog/id/157.
В-третьих, мы пропускаем всех, кто пришел сюда не по прямой ссылке, а либо с внешнего, либо с внутреннего сайта.
В качестве меры вводим запрет на доступ, проверяя
Кстати, запрет на просмотр можно заменить редиректом на сайт Firefox или зараженный вирусом сайт вроде этого
RewriteCond %{HTTP_REFERER} ^$ RewriteRule .* [R]
Такой прием не позволяет им просматривать страницу и делать бессмысленные запросы к базе данных.
И тут мне пришло в голову: насколько упадет мнимая популярность MSIE, если мы отрежем всех идиотов, спамящих сайты?
А вот ежемесячная статистика моего другого домена:
ffsdmad@ffsdmad:~/rekoweb.ru/logs$ ls |sort|tail -30 |xargs bzcat | awk -F '"' '{print $6}'| sort | uniq -c|sort -n| tail -20
817 Mozilla/4.0 (совместимый; MSIE 7.0; Windows NT 5.1)
832 Opera/9.52 (Windows NT 5.1; U; ru)
887 Opera/9.62 (Windows NT 5.1; U; ru) Presto/2.1.1
902 Opera/9.27 (Windows NT 5.1; U; ru)
940 Mozilla/5.0 (совместимо; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)
999 Mozilla/5.0 (Twiceler-0.9 http://www.cuil.com/twiceler/robot.html)
1011 Mozilla/5.0 (X11; U; Linux x86_64; ru; rv:1.9.0.6) Gecko/2009020407 Iceweasel/3.0.6 (Debian-3.0.6-1)
1037 Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.7) Gecko/2009021910 MRA 5.4 (Build 02614) Firefox/3.0.7
1817 Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.0.6) Gecko/2009020911 Ubuntu/8.04 (жесткий) Firefox/3.0.6
1889 Mozilla/5.0 (совместимо; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)
2520 Mozilla/4.0 (совместимый; MSIE 6.0; Windows NT 5.1; SV1)
2604 Opera/9.63 (Windows NT 5.1; U; ru) Presto/2.1.1
2722 ЯндексБлог/0.99.101 (совместимый; DOS3.30; Mozilla/5.0; B; Robot) 0 читателей
3757 Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7
4330 Mail.Ru/1.0
5173 Mozilla/5.0 (совместимо; Googlebot/2.1; +http://www.google.com/bot.html)
8264 Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
25725 StackRambler/2.0 (несовместим с MSIE)
29043 Mozilla/4.0 (совместимый; MSIE 6.0; Windows NT 5.1)
50921 Яндекс/1.01.001 (совместимый; Win16; I)
А вот доказательство того, что пользователи этого браузера спамят мой сайт:
ffsdmad@ffsdmad:~/rekoweb.ru/logs$ bzgrep '(compatible; MSIE 6.0; Windows NT 5.1)' rekoweb.ru.200*| awk '{print $7}'|sort |uniq -c|sort -n|tail
73 /html/курс
87 /изображения/img1.png
98 /mag/ffjs.js
125 /js.js
137 /стиль/rekoweb2008.css
6999 /блог/идентификатор/151
7079 /блог/идентификатор/163
7205 /блог/идентификатор/158
7322 /блог/идентификатор/131
Еще примеры использования mod_rewrite: