Вздыхает board powered by smf. Автоматическое определение движка форума

Размер веб-страницы и скорость ее загрузки стали вновь актуальны. Скорость загрузки контента становится одним из критериев ранжирования результатов поиска. О GZip и Deflate сжатии написано уже много, о серверном кешировании - тоже. Поговорим о заголовках.

Итак, ваше ASP.NET-приложение, помимо прочих, шлет на клиент следующие заголовки (значения могут варьироваться):

  • Server : Microsoft-IIS/6.0
  • X-Powered-By : ASP.NET
  • X-AspNet-Version : 2.0.50727
  • (опционально) X-AspNetMvc-Version : 1.0
Убрав эти header"ы мы «облегчим» траффик всего на какие-то 100 байт для каждого запроса, но, во-первых , следует помнить, что эти 100 байт, будучи умноженными на десятки тысяч запросов к вашему серверу, сыграют ощутимую роль. Во-вторых , отсуствие header"ов усложнит жизнь злоумышленникам, которые будут лишены информации о версии вашего сервера, версии ASP.NET и о платформе вообще.

Теперь к делу.

Убираем заголовок X-AspNet-Version.

Тут все просто. Достаточно добавить в web.config строку:
< httpRuntime enableVersionHeader ="false" />

Убираем заголовок X-AspNetMvc-Version

Если вы используете фреймворк ASP.NET MVC, добавьте этот код в обработчик Application_Start в файле Global.asax:
MvcHandler.DisableMvcResponseHeader = true ;

Убираем заголовок X-Powered-By

Запускаем оснастку администрирования IIS и идем на вкладку «service» в свойствах веб-сайта:

Если у вас IIS7 - все похоже:

Убираем заголовок Server

Тут все сложнее. Этот заголовок добавляет сама IIS, поэтому придется вычищать его «руками», с помощью небольшого хака, опять же, в Global.asax, в обработчике Application_PreSendRequestHeaders:
//все гениальное просто
HttpContext .Current.Response.Headers.Remove("Server" );

К сожалению, это сработает только с включенной настройкой Integrated Pipeline Mode - читай - «только в IIS7». Для IIS6 придется прибегнуть к помощи бесплатной утилитки от Microsoft -

Туры и отдых в Австралии

Форумы в интернете являются одним из самых популярных видов интернет ресурсов. Это вполне объяснимо, так как форумы - это идеальная площадка для свободного общения посетителей. Форум является прекрасным способом для организации сообщества на вашем сайте и для формирования постоянной аудитории посетителей.

Существует много форумных движков. Давно хотел сделать обзор движков форумов. Сравнивать между собой их не буду - это тема отдельной статьи.

При выборе движка форума советую определить для себя следующие моменты:

1. Какой функционал форума вам нужен. Большинство форумных движков обладают широкими возможностями, но некоторые нюансы реализованы не во всех форумных CMS. Рекомендую посетить официальные сайты движков и ознакомиться в подробных описанием функционала.

2. Платный или бесплатный движок - этот момент тоже необходимо учитывать. В этом обзоре всего два платных движка - vBulletin и IPB, остальные бесплатные.

3. Развитость сообщества - когда у движка есть развитое сообщество как в англоязычном, так и в русскоязычном интернете, это является большим плюсом. Развитость сообщества напрямую связана с числом различных модификаций, доработок и шаблонов дизайна. Если у движка малочисленное сообщество, то нужно иметь в виду, что многие моменты придется решать своими силами.

4. Дата последнего обновления движка - если движок давно не обновляется, это свидетельствует о том, что разработчики его не развивают или забросили дальнейшую разработку. Это является большим минусом. Интернет технологии постоянно развиваются, и форум с устаревшим функционалом будет ограничивать возможности по его дальнейшему развитию.

Ладно, хватит громких слов 🙂 . Начну с самых популярных движков форумов, основываясь на этом рейтинге CMS .

Это мой самый любимый форумный движок, и свой форум Планета Фотошоп я держу именно на этом движке. Причина не только в том, что это бесплатный движок форума, но и в том, что он обладает широким функционалом, имеет развитые сообщества как в англоязычном интернете, так и в рунете, поэтому для phpBB разработано множество модов на любой вкус, с помощью которых можно еще больше расширить функционал.

Логи действий пользователя, модератора, администратора, точные настройки прав доступа модератора и администратора, идентификация поисковых роботов, создание групп пользователей, опросы, вложения в сообщениях и личных сообщениях - вот лишь часть функционала phpBB.

Также мне очень нравится то, в каком направлении развивается phpBB от версии к версии. phpBB удобен как для администратора, так и для модераторов и обычных пользователей.

Мое мнение за несколько лет использования phpBB - это замечательный форумный движок, не требовательный к ресурсам хостинга, и предоставляющий весь необходимый потенциал для ведения форума.

Полезные ресурсы по phpBB:

Invision Power Board - это платный движок форума, который очень популярен на просторах интернета. Стоимость в рунете можно узнать . На нем работают многие известные форумы. Имеет развитые сообщества в англоязычном и русскоязычном интернете.

Для IPB есть дополнительные официальные приложения (модуль галереи, блога, файлового архива). Кроме этого, есть визуальный редактор сообщений, текстовая версия форума, оптимизированная для поисковых роботов, инструмент для удобного бэкапа базы данных форума, подробный журнал действий администраторов и модераторов, а также журнал действий поисковых роботов.

Полезные сайты по Invision Power Board:

🔥 Кстати! Я провожу платный курс по продвижению англоязычных сайтов SEO Шаолинь. Если интересует, можете подать заявку на его сайте seoshaolin.com .

vBulletin - замечательный форумный движок. Он платный, стоимость можно узнать . Наряду с IPB, vBulletin является лидером среди платных движков.

Поддержка подкастинга, автоматическая генерация RSS фида форума, возможность создания посетителями социальных групп и клубов по интересам на форуме, галереи фотографий пользователей, поддерживаются теги, возможность добавления тем форума в социальные закладки самими пользователями - вот наиболее интересные возможности vBulletin, на мой взгляд.

punBB - очень легкий и простой форум. Панель управления форумом удобна и интуитивно понятна. punBB имеет меньше возможностей, но это компенсируется быстротой его работы и нетребовательностью к ресурсам хостинга.

Разработчики punBB делают акцент на лёгкость, скорость работы и компактность.

Полезные ресурсы по punBB:

YaBB - бесплатный движок форума, написанный на Perl. В отличие от большинства других форумных движков, YaBB для хранения данных использует не базу данных, а файлы.

Удобный текстовый редактор для написания сообщений, широкие возможности для администраторов и модераторов, возможность менять настройки и шаблоны "на лету", возможность преобразовать страницу в "версию для печати" - вот далеко не все возможности форумного движка YaBB.

Сейчас небольшое отступление. Если вам интересно узнать о тех методах продвижения, которые дают хороший эффект для увеличения целевой посещаемости, то я могу предложить свое платное исследование SEO разведка http://seorazvedka.ru/ , в котором я на примере 10 прибыльных молодых сайтов из разных тематик показал, каким образом они продвигаются и описал, как это можно использовать для продвижения своих ресурсов.

SMF - еще один быстрый и легкий форумный движок. Он нетребователен к ресурсам сервера и активно набирает популярность.

Поддержка OpenID, система предупреждений пользователей, есть возможность при необходимости премодерировать темы, сообщения и вложения, WYSIWYG-редактор для сообщений - и это еще не все, что позволяет SMF!

Intellect Board - оригинальный бесплатный движок. Задумка разработчиков Intellect Board заключается в идее, чтобы создать сайт на основе форума. Функционал Intellect Board очень широкий - сборник статей, презентация, новости, архив файлов, фотогалерея, IRC-чат, энциклопедия. По сути, Intellect Board - это полноценная система управления сайтом.

Основные возможности Intellect Board - Возможность задавать правила для всех разделов, поддержка графических библиотек GD и GD2 для создания уменьшенных копий картинок и фотографий, возможность вынесения предупреждений и поощрений модераторами и администраторами (причем предупреждения могут быть как бессрочными, так и ограниченными по времени), рейтинг тем, статей, файлов и фотографий/

ExBB (Exclusive Bulletin Board )

ExBB - легкий и бесплатный форумный движок. Он также, как и YaBB, не требует базы данных и хранит информацию в текстовых файлах.

ExBB обладает следующими достоинствами: страницы генерируются очень быстро, нагрузка на сервер минимальна, высокая степень устойчивости к взлому, форум работает на файлах, баз данных не требуется, для его работы достаточно, чтобы на хостинге была поддержка php.

Vanilla - оригинальный форумный движок, который интересен своей модульностью. Большой плюс этой форумной CMS - большинство модулей устанавливаются в один клик

Плюсы Vanilla: собственный фреймворк, позволяющий писать расширения, возможность построения сообществ (голосования, облака тегов, блоги, чат, кармоподобные дополнения и т.д.), удобство установки дополнений (в большинстве случаев залил, нажал одну кнопку - и все!), расширяемость стандартного функционала (модульность) за счет дополнений, которых сейчас написано около 450.

Еще одна интересная особенность форумного движка Vanilla - cистема "Шепот" - можно просто отправить кому-либо сообщение шепотом, не покидая страницу темы или создать тему «шепотом», которая будет наглядной историей переписки.

Начнем сразу с кода основного скрипта:

#!/usr/bin/perl

# which-forum.pl script
# (c) 2010 Alexandr A Alexeev, http://сайт/

use strict;

# закомментированные строки - для строгости
# если задача - собрать статистику движков, оставить как есть
# если составить список форумов - раскомментировать

my $data ;
$data .= $_ while (<> ) ;

# проверить, сколько было Powered by phpBB без ссылки в подвале
print "phpbb\n "
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?phpbb\.com\/?"[^>]*>phpBB/i or
# $data =~ /viewforum\.php\?[^""]*f=\d+/i or
$data =~ /phpBB\-SEO/i or
$data =~ /) ;
print "ipb\n "
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?invision(?:board|power)\.com\/?[^"]*"[^>]*>[^<]*IP\.Board/i or
$data =~ /]+href="[^"]*http:\/\/(?:www\.)?invisionboard\.com\/?"[^>]*>Invision Power Board/i or
$data =~ /

/i or
$data =~ /index\.php\?[^""]*showforum=\d+/i ) ;
print "vbulletin\n "
if ($data =~ /Powered by:?[^<]+vBulletin[^<]+(?:Version)?/i or
$data =~ /) ;
print "smf\n "
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?simplemachines\.org\/?"[^>]*>Powered by SMF/i or
$data =~ /index\.php\?[^""]*board=\d+\.0/i ) ;
print "punbb\n "
if ($data =~ /]+href="[^"]*http:\/\/(?:(?:www\.)?punbb\.org|punbb\.informer\.com)\/?"[^>]*>PunBB/i ) ; #or
# $data =~ /viewforum\.php\?[^""]*id=\d+/i);
print "fluxbb\n "
# if($data =~ /viewtopic\.php\?id=\d+/i or
if ( $data =~ /]+href="http:\/\/(?:www\.)fluxbb\.org\/?"[^>]*>FluxBB/i ) ;
print "exbb\n "
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?exbb\.org\/?"[^>]*>ExBB/i ) ; # or
# $data =~ /forums\.php\?[^""]*forum=\d+/i);
print "yabb\n "
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?yabbforum\.com\/?"[^>]*>YaBB/i or
$data =~ /YaBB\.pl\?[^""]*num=\d+/i ) ;
print "dleforum\n "
if ($data =~ /\(Powered By DLE Forum\)<\/title>/i or
$data =~ /]+href="[^"]+(?:http:\/\/(?:www\.)?dle\-files\.ru|act=copyright)[^"]*">DLE Forum<\/a>/i ) ;
print "ikonboard\n "
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?ikonboard\.com\/?[^"]*"[^>]*>Ikonboard/i or
$data =~ /\n "
if ($data =~ /\n "
# if($data =~ /forums\.php\?fid=\d+/i or
# $data =~ /topic\.php\?fid=\d+/i or
if ($data =~ /]+href="http:\/\/(?:www\.)?flashbb\.net\/?"[^>]*>FlashBB/i ) ;
print "stokesit\n "
# if($data =~ /forum\.php\?f=\d+/i or
if ($data =~ /]+href="http:\/\/(?:www\.)?stokesit\.com\.au\/?"[^>]*>[^\/]*Stokes IT/i ) ;
print "podium\n "
# if($data =~ /topic\.php\?t=\d+/i or
if ($data =~ /]+href=[""]?http:\/\/(?:www\.)?sopebox\.com\/?[""]?[^>]*>Podium/i ) ;
print "usebb\n "
# if($data =~ /forum\.php\?id=\d+/i or
if ($data =~ /]+href="http:\/\/(?:www\.)?usebb\.net\/?"[^>]*>UseBB/i ) ;
print "wrforum\n "
# if($data =~ /index\.php\?fid=\d+/i or
if ($data =~ /]+href="http:\/\/(?:www\.)?wr\-script\.ru\/?"[^>]*>WR\-Forum/i ) ;
print "yetanotherforumnet\n "
if ($data =~ /Yet Another Forum\.net/i or
$data =~ /default\.aspx\?g=posts&t=\d+/i ) ;

Этот и другие скрипты, упомянутые в посте, вы найдете в этом архиве .

Скрипт which-forum.pl изучает код html-страницы на предмет наличия в нем сигнатур форумного движка. Аналогичный прием мы использовали при определении WordPress и Joomla , но есть пара отличий. Во-первых, сам скрипт не загружает код страницы, а читает его из stdin или файла, переданного в качестве аргумента. Это позволяет загрузить страницу один раз, к примеру, с помощью wget, а затем прогнать ее через несколько анализаторов, если у нас их не один. Во-вторых, в данном скрипте наличие сигнатуры является 100% признаком движка. В прошлый раз наличие сигнатуры лишь придавало веса соответствующему движку и «выигрывал» движок с наибольшим весом. Я решил, что в данном случае такой подход лишь напрасно усложнит код.

Чтобы протестировать работу скрипта, я провел небольшое исследование. Я составил список из нескольких тысяч форумов и прогнал каждый из них через свой скрипт, определив тем самым процент срабатываний программы и популярность различных движков.

Для получения списка форумов я воспользовался своим парсером Google . Поисковой системе посылались запросы типа

site:forum.*.ru
site:talk.*.ru
site:board.*.ru
site:smf.*.ru
site:phpbb.*.ru
....

и так далее. Полный код генератора запросов вы найдете в файле gen-forumsearch-urls.pl . Помимо зоны.ru также использовались.su .ua .kz и.by. В прошлый раз провести такое исследование было затруднительно, поскольку сайты на WordPress и Joomla не имеют подобных сигнатур в URL. Каталоги типа cmsmagazine.ru/catalogue/ не обеспечивают достаточного объема выборки. Что такое 600 сайтов на Drupal?

Надо признать, результаты эксперимента меня огорчили. Из 12590 исследуемых сайтов только на 7083 движок был определен успешно, то есть лишь в 56% случаев. Может быть, я не учел какой-нибудь движок? Неужто на половине форумов стоял Bitrix? Или мне стояло больше времени уделить поиску сигнатур? В общем, тут требуются дополнительные исследования.

Среди 56% успешно опознанных движков самыми популярными, как и следовало ожидать, оказались IPB (31%), phpBB (26,6%) и vBulletin (26,5%)

За ними с большим отставанием следуют SMF (5,8%) и DLEForum (5,3%). Мой любимый punBB оказался лишь на 6-м месте (1,64%). Я не советовал бы сильно доверять этим цифрам (мол, каждый третий форум в рунете работает на IPB), но определенные выводы сделать, конечно, можно.

Например, если вы намерены делать сайт на форумном движке и планируете модифицировать форум, скажем, платить пользователям по 0.01$ за каждое сообщение с автоматическим выводом средств раз в неделю, то вам следует выбрать один из трех наиболее популярных движков. Чем популярнее форум, тем больше шансов найти программиста, который хорошо в нем разбирается.

Если же существенных изменений в движке не предвидится, то возможно имеет смысл выбрать не самый популярный движок, например SMF или punBB. Этим вы уменьшите число хакерских атак на свой форум и количество автоматически рассылаемого на нем спама.

Скриптам для поиска/определения форумов также можно найти не одно практическое применение. Первое, что пришло лично мне в голову — это отсортировать по тИЦ опознанные форумы и разместить на первой сотне посты с ссылками на один из своих сайтов. Однако сотня форумных dofolllow-ссылок никак не повлияла на тИЦ (прошло 2 апдейта), так что лучше не тратить тут время, если только вас не интересуют переходы.

Понятно, что названное применение скриптов далеко не единственное. Думаю, вы легко придумаете, как еще можно их использовать.



 

Пожалуйста, поделитесь этим материалом в социальных сетях, если он оказался полезен!