Компьютерные подсказки - Znamenka24

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Все знают, что я просто жить не могу без Джумла, но, на мой взгляд, хорошего форума в компонентах у нет. Поэтому я и работаю с форумными движками. Один из новых, которые я только недавно начал использовать, является Начинаем новую категорию 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/

    Понравилась статья? Поделитесь с друзьями!
    Была ли эта статья полезной?
    Да
    Нет
    Спасибо, за Ваш отзыв!
    Что-то пошло не так и Ваш голос не был учтен.
    Спасибо. Ваше сообщение отправлено
    Нашли в тексте ошибку?
    Выделите её, нажмите Ctrl + Enter и мы всё исправим!