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

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

Если кто-то не знает, 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 (номер может быть другой). Опять в админке форума перейдите к установке пакетов (как это делали с предыдущим пакетом) и установите его. Языкового файла для этого пакета нет, поэтому распаковывать архив или что-то с ним делать не нужно.

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

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

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

Заключение

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

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

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

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

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

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Выбрав для просмотра конкретную тему, пользователи попадают на страницу со списком сообщений в этой теме.

Каждое отдельное сообщение обычно выглядит вот так:

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

  • Ответ - Самая популярная кнопка, с помощью которой пользователи могут оставлять новые сообщения в теме.
  • Уведомлять - Подписка на получение уведомлений о появлении новых сообщений в данной теме.
  • Отметить непрочитанной - Можно пометить текущую тему как непрочитанную.
  • Отправить эту тему - Можно переслать ссылку на текущую тему своему другу/знакомому, указав его e-mail.
  • Печать - Создание печатной версии страницы с содержанием текущей темы, для просмотра перед печатью.

Как правило, список сообщений в теме отображается в вертикальном порядке: старые сообщения вверху, новые внизу. Но каждый пользователь может в своем профиле установить иной, горизонтальный порядок. Тогда новые сообщения будут размещаться вверху. Каждое сообщение в списке разделено на две секции. В левой секции содержится краткая информация об авторе сообщения, а в правой - само сообщение.

  • Информация об авторе
    • Автор сообщения - Ник пользователя (или гостя), оставившего данное сообщение.
    • Подпись над аватаром - В зависимости от настроек форума, пользователи могут иметь заранее созданные надписи над аватарами или могут установить их самостоятельно. Обычно эта подпись служит для индивидуальной «маркировки» пользователей.
    • Основная группа - Чаще всего все пользователи находятся в группе Обычные пользователи, название которой не отображается. Если же группа любая другая, её название будет отображаться в данном месте. Если автор сообщения - гость, пометка об этом также будет выведена здесь.
    • Группа, основанная на кол-ве сообщений - В зависимости от количества оставленных сообщений пользователи распределяются по разным группам (Новичок, Постоялец и т. п.). Название этой группы может не отображаться, если пользователь входит в специальную группу либо её отображение отключено в настройках текущей темы оформления.
    • Эмблема - Обычно количество изображений в эмблеме устанавливают в зависимости от ранга группы (например, у новичков 1 звездочка, у продвинутых пользователей три, у ветеранов пять), либо используют разные изображения для разных групп.
    • Количество сообщений - Отображение текущего количества сообщений конкретного пользователя.
    • Иконки для связи с автором - Вывод разнообразных иконок, помогающих тем или иным образом связаться с автором сообщения: ссылка на профиль, ссылка на сайт, номер ICQ, e-mail, отправка личного сообщения.
  • Блок сообщения
    • Иконка сообщения - Индивидуальная иконка, выбираемая автором при создании/отправке сообщения.
    • Тема сообщения - Заголовок сообщения обычно совпадает с названием темы, однако по желанию автора сообщения может быть изменен на любой другой.
    • Панель кнопок - В верхней части каждого сообщения, в правом углу, выводится ряд кнопок, позволяющих осуществить те или иные быстрые действия над текстом сообщения: процитировать, изменить, удалить и пр. (в зависимости от настроек и установленных модов). Чаще всего отображается кнопка "Цитировать", все остальные кнопки доступны только автору конкретного сообщения, а также модераторам и администраторам.
    • Дата и время - Дата и время публикации сообщения отображаются непосредственно под его темой. Предупреждение о последующем редактировании сообщения будет выведено под его содержанием и над подписью автора.
    • Текст - Содержание сообщения (если нет сообщений, то зачем форум?)
    • Подпись - Если пользователь указал в профиле свою подпись, она будет отображаться здесь, под текстом сообщения.
    • Сообщить модератору - О каждом конкретном сообщении можно быстро сообщить модераторам (например, пожаловаться, если в сообщении использован мат).
    • Записан - Пометка, означающая, что IP-адрес компьютера, использованного пользователем или гостем при отправке сообщения, сохранен в логах (в базе данных). Для администраторов (и для тех, кому это разрешено) рядом с этой пометкой отображается и сам IP.

Хотя это и наиболее распространённые элементы сообщений при просмотре тем, пользователи могут скрыть некоторые из них, отредактировав свои профили.

Поделиться: