Силе index php topic powered by smf. Как защитить свой форум на Simple Machines (SMF) от спама. Установка и настройка Anti-Spam Links

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

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

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

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

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

Заключение

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

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

Первые шаги в поисковой оптимизации Simple Machines Forum: удаляем копирайт и внешние ссылки

Сразу оговорюсь, что я работаю только smf 2 и данная статья будет относится именно к данной версии бесплатного форумного движка.

И так, постоянные читатели знают как сильно я не люблю ставить по "10" внешних ссылок на официальные сайты движков, в том числе и форумных. Именно поэтому первым делом удаляем копирайт и целых 4, внимание 4 внешних ссылки вида "SMF 2.0.2 | Simple Machines | SMF © 2011 | XHTML " ! Для этого подключаемся к сайту по FTP forum/Themes/название Вашей темы оформления / и редактируем файл index.template.php . Естественно в самом низу находится код (около 330 строки), который выводят так не любимые нам внешние ссылки. Поэтому удаляем: "

  • ", theme_copyright(), "
  • " и "
  • ", $txt["xhtml"], "
  • ". Вот все так просто и лекго. В ближайших публикациях ждите новых материалов по продвижжению и оптимизации форумов на SMF/