Следы board powered by smf. Как защитить свой форум на Simple Machines (SMF) от спама

Бытовая техника 02.05.2019
Бытовая техника

Какие движки используют успешные форумы? На каких серверах они работают? В какой кодировке хранят написанные пользователями сообщения? Вытеснит ли зашифрованный протокол HTTPS старый добрый HTTP?

В исследовании используется статистика «Рейтинга форумов Рунета, Уанета и Байнета» . Этот рейтинг содержит свыше 400 крупнейших русскоязычных (более 1 миллиона сообщений), украиноязычных (более 50 тысяч сообщений) и беларускоязычных (более 2 тысяч сообщений) форумов.


Как видно из диаграммы, за первое место борются платные движки Invision Power Board (ныне IPS Community Suite) и vBulletin . При этом лидером, пусть и с небольшим отрывом, все же является IPB.

На 3-м месте с небольшим отставанием идет бесплатный phpBB , распространяющийся по лицензии GNU GPL. Кроме него, также достаточно популярен SMF (Simple Machines Forum) - наследник YaBB SE , который в свою очередь ведет свою историю от YaBB на Perl. Этот движок также бесплатен, но в отличие от phpBB имеет лицензию BSD.

Особо стоит отметить платный XenForo , первый публичный релиз бета-версии которого состоялся в октябре 2010 года, а первая стабильная версия вышла 8 марта 2011 года. Несмотря на платность и сильную конкуренцию, он сумел попасть в пятерку самых популярных движков. Причем некоторые форумы отказались от ранее используемого программного обеспечения и перешли на XenForo. Крупнейший из них - BMW Club , содержащий более 27 миллионов сообщений. Ранее он работал на платном vBulletin.

Интересно, что некоторые крупные проекты используют сервисы форумов - в основном, форумы бесплатного хостинга uCoz .

Использование старых движков, таких как IkonBoard 2 (Компьютерный форум Ru.Board) или YaBB 1 (Absolute Games Forums Central), обусловлено большим возрастом этих форумов, а также, по всей видимости, консервативностью администраторов и (или) пользователей, не желающих переходить на современное программное обеспечение. Кроме того, эти форумы в значительной степени модифицированы и уже мало похожи на оригинальные IkonBoard и YaBB.


Как можно видеть из таблицы, более 2/3 всех крупнейших форумов используют nginx. Правда, в этот процент входят не только форумы, работающие на чистом nginx, но и использующие его как front-end к другому серверу (как правило, к Apache). Такая высокая популярность nginx на крупных форумах обусловлена его устойчивой работой на высоконагруженных проектах.

На чистом Apache работает всего лишь около 16% форумов.

IIS (Internet Information Services) от Microsoft имеет еще меньшую распространенность. Его используют менее 2% форумов. Крупнейшим из них является форум SQL.ru , содержащий более 19 миллионов сообщений.

Значительную часть форумов из пункта «Другой или не определен» составляют сайты, использующие сервисы для защиты от DDoS-атак - CloudFlare , Qrator , DDoS-GUARD .


Среди кодировок, что неудивительно, лидирует UTF-8. Удивительно то, что Windows-1251 почти не отстает от нее. Но и в этом нет ничего необычного, если вспомнить, что в статистике учитываются крупнейшие форумы. А крупнейшие - это, как правило, достаточно старые форумы, создававшиеся еще во времена dial-up"а, когда на счету был каждый байт. Стоит напомнить, что символы кириллицы занимают в UTF-8 по 2 байта, тогда как в Windows-1251 и KOI8-R - по 1 байту.

Еще интереснее, что до сих пор сохранились форумы, использующие кодировку KOI8-R. Среди крупнейших это Farit.ru (более 8 миллионов сообщений), Конференция портала HiTV (более 2 миллионов сообщений) и Кулинарный форум Kuking (более 1 миллиона сообщений).


Последние годы наблюдается постепенный переход сайтов на защищенный протокол HTTPS (Hypertext Transport Protocol Secure). Его основным преимуществом является шифрование всего передаваемого трафика.

Ранее HTTPS использовался только для отдельных частей некоторых сайтов, где действительно требовалась безопасная передача данных (например, интернет-банкинг). Но со временем на HTTPS стали переходить и обычные сайты. Среди крупнейших - «Google», «Яндекс», «Википедия», «Facebook», «ВКонтакте», «Одноклассники».

Затронула эта тенденция и форумы. Так, на сегодняшний день уже более 10% крупнейших форумов используют протокол HTTPS, и их количество постоянно растет. Отчасти это может быть связано с более благосклонным отношением к таким сайтам со стороны Google («Google повышает сайты с HTTPS в выдаче»).

Тем не менее, пока еще около 90% продолжают работать на протоколе HTTP.


В качестве бонуса в статью добавлена статистика по версиям PHP, установленным на серверах крупнейших форумов. Удивительно, но более 1% форумов продолжают использовать PHP 4! Самой популярной версией остается PHP 5.3, а новый PHP 7 установлен лишь на 2-х форумах.

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

Заключение

Подводя итоги, можно выделить следующие тенденции, наблюдаемые среди крупнейших форумов Рунета, Уанета и Байнета за последние несколько лет:
  • самыми популярными движками остаются платные IPB и vBulletin;
  • переход некоторых форумов на новый коммерческий движок XenForo;
  • использование сервера nginx, а также сервисов для защиты от DDoS-атак;
  • медленный переход на кодировку UTF-8 при сохранении серьезных позиций у Windows-1251;
  • подавляющее большинство форумов пока еще использует протокол HTTP, но наблюдается постепенный переход на HTTPS.

Здравствуйте, Хабравчане!

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

Бесплатные движки
#1 - PunBB
Красивый и лёгкий в использовании движок. Удобный и интуитивно понятный интерфейс админ-панели. Форум очень компактный, имеет небольшое количество функций (с под коробки), но это с легкостью можно исправить дополнениями . Удобно и легко создавать темы. Если вам нужен простой и лёгкий в установке, настройке и использовании форум - это идеальный выбор.
- Русскоязычное сообщество
Есть ещё много разных движков, которые я не включил в обзор, ибо считаю, что они не так востребованы и популярны, как упомянутые выше. Ну а что касается моего субъективного мнения, то я бы рекомендовал PunBB или XenForo.

Теги: создать форум, форумные cms, движок форума

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

#!/usr/bin/perl

# which-forum.pl script
# (c) Две тыщи 10 Alexandr A Alexeev, http://eax.me/

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

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

# проверить, сколько было Powered by phpBB без ссылки в подвале

Автоматическая установка модуля система баллов 1.6

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 =~ / if($data =~ / # 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, но есть пара различий.

Во-1-х, сам скрипт не загружает код странички, а читает его из stdin либо файла, переданного в качестве аргумента. Это позволяет загрузить страничку один раз, например, при помощи wget, а потом изгнать ее через несколько анализаторов, если у нас их не один.

Во-2-х, в данном скрипте наличие сигнатуры является 100% признаком движка. В прошедший раз наличие сигнатуры только присваивало веса соответственному движку и «выигрывал» движок с большим весом. Я решил, что в этом случае таковой подход только зря усложнит код.

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

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

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?

Нужно признать, результаты опыта меня огорчили. Из Двенадцать тыщ 500 девяносто исследуемых веб-сайтов лишь на Семь тыщ восемьдесят три движок был определен удачно, другими словами только в 56% случаев. Может быть, я не учел какой-либо движок?

Неужто на половине форумов стоял Bitrix? Либо мне стояло больше времени уделить поиску сигнатур? В общем, здесь требуются дополнительные исследования.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Приглашаю вас подписаться на мои каналы в Telegram:

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 апдейта), так что лучше не тратить тут время, если только вас не интересуют переходы.

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



Рекомендуем почитать

Наверх