Обзор форумных CMS. Как защитить свой форум на Simple Machines (SMF) от спама

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

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

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

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

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

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

Представляем вашему вниманию новый курс от команды The Codeby - "Тестирование Веб-Приложений на проникновение с нуля". Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое.


Если кто-то не знает, Simple Machines Forum — для краткости SMF — это, как сказано на официальном сайте, бесплатный, профессионального уровня пакет, который позволит вам организовать ваше собственное онлайн сообщество за несколько минут. на этом движке, вы можете посмотреть здесь. Я сам ставил свой форум по ней (кстати, заходите FreeForum.biz).

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

Я замечу, что пытался бороться со спамерами своими силами — блокировал доступ по IP и даже по подсетям. Это действительно работало, отсеивало очень много мусора, но, тем не менее, раз в один-два дня кто-то пробивался. И довольно много времени уходило на пополнение базы забаненных IP. Я подумал, что должен быть более удобный способ, и он действительно нашёлся!

1. Установка и настройка Stop Spammer

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

Вместо этого, раз в несколько дней я захожу на страницу управления пользователями, вижу там что-то вроде этого:

Перехожу к разделу «Ожидают одобрения» (это и есть найденные спамеры, которые лишены возможности оставлять сообщения до одобрения их учётных записей администратором). Ставлю галочку «Выделить всех» и удаляю их одним нажатием:

Вот и всё, все спам-учётки отправляются в небытиё. Возвращаемся к нашему списку пользователей:

Видно, что список заметно поредел, но кто остальные? Выделяем всех и отправляем одной кнопкой на проверку:

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

Я рассказал как пользоваться этим волшебный плагином, теперь я расскажу как его установить.

Скачайте два файла: language_full.zip (это языковой пакет для перевода плагина) и StopSpammer_v2_3_9.zip (номер может быть другой, т. к. версии обновляются). Распакуйте содержимое архива StopSpammer_v2_3_9.zip в какую нибудь папку. В эту же папку распакуйте архив language_full.zip, согласитесь на замену файлов. Теперь запакуйте нашу папку в архив zip.

В админке переходите к установке пакетов. Напротив надписи «Загрузить пакет» есть кнопка для выбора файла на компьютере. Выбираете наш новый архив (где мы заменили языковой файл), выгружаете его на форум и активируете пакет.

Вот и всё готово!

Дополнительная настройка плагина происходит в админке: перейдите в

Пользователи → Регистрация → Настройка

Там можете оставить значения по умолчанию. Ещё там есть поле «Ваш API ключ». Без этого ключа вы не сможете сообщать о новых спамерах (но плагин будет работать и фильтровать известных спамеров). Если хотите получить собственный API ключ, зайдите на сайт www.stopforumspam.com для регистрации, а потом укажите ключ здесь. Если вы пока не получили ключ, оставьте поле пустым. Тогда будет использоваться ключ по умолчанию.

2. Установка и настройка Anti-Spam Links

У адептов СЕО-религии (подробнее про моё отношение к СЕО-нистам можете посмотреть в другой ) есть твёрдая убеждённость, что увеличивая количество ссылок на свой сайт, они его «продвигают» (почему-то идея создавать интересный и качественный контент ни к кому из них не приходит в голову). Был бы лох, а способы вытянуть с него деньги найдутся. Так вот, некоторые «граждане» оказывают услуги по «прогонке» сайтов по форумам. Они создают большое количество учётных записей на разных форумах и вставляют туда обратные ссылки в подписях и в других доступных полях. При том, что уже даже «сео-экспериментаторы» опытным путём доказали, толк от этих ссылок нулевой, некоторые предупреждают, что за это можно получить бан от поисковых систем, Яндекс, например, просто игнорирует ссылки на ВСЕХ форумах и сайтах, где любой может оставлять ссылки. У Гугла тоже есть подобные алгоритмы — игнорирование ссылок в комментариях и пр. Но лохам закон не писан… Поэтому нам, владельцам форумов, приходится считаться с теми фактами, что «крутые сео-оптимизаторы» за тысячу рублей заказывают «прогон» своих говноподелок.

Очень много отсеет плагин Stop Spammer. Но мы можем ему помочь! Можно выбить из-под ног спамеров сам интерес размещать ссылки на вашем форуме. Именно для этого и нужен Anti-Spam Links. Этот плагин (конкретные цифры можно менять в настройках) делает так что:

  • те у кого, например, менее пяти сообщений, вообще не может оставлять ссылки
  • те у кого, например, менее 15 сообщений, не могут оставлять активные ссылки, из ссылок убирается http:// и вообще эти ссылки становятся нуболинками (newbielink)
  • те, у кого, например, менее 50 сообщений, могут оставлять активные ссылки, но все ссылки получают атрибут nofollow.
  • ну и те, у кого более 50 сообщений, могут вставлять самые обычные активные ссылки, которые передают вес сайта странице, на которую ссылаются.

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

Да, к стати, приведённые выше правила работают и в таких полях как подписи.

Для установки этого плагина, перейдите на его официальную страницу . Скачайте архив anti_spam_links_v1.0.1.zip (номер может быть другой). Опять в админке форума перейдите к установке пакетов (как это делали с предыдущим пакетом) и установите его. Языкового файла для этого пакета нет, поэтому распаковывать архив или что-то с ним делать не нужно.

Для настройки плагина перейдите в раздел

Конфигурация → Настройка модов… → Настройка модификаций

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

Заключение

Эти два плагина ОЧЕНЬ сильно облегчать вам, владельцу форума, жизнь и сэкономят уйму времени. Тем не менее, время от времени спамеры прорываются и, хотя бы раз в неделю, нужно «прорежать» пользователей и удалять спам-сообщения. Поэтому не забрасывайте свои веб-ресурсы!

Гарант является доверенным посредником между Участниками при проведении сделки.


Какие движки используют успешные форумы? На каких серверах они работают? В какой кодировке хранят написанные пользователями сообщения? Вытеснит ли зашифрованный протокол 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.
  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то