Отворете
Близо

Как да защитите форума на Simple Machines (SMF) от спам. Автоматично откриване на двигателя на форума Внимателен профил, задвижван от smf

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

#!/usr/bin/perl

# скрипт which-forum.pl
# (c) 2010 Александър Алексеев, http://site/

използвайте строг;

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

моите $данни;
$data .= $_while (<> ) ;

# проверете колко е Осъществено от phpBB без връзка в долния колонтитул
печат "phpbb \н"
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?phpbb\.com\/?"[^>]*>phpBB/iили
# $data =~ /viewforum\.php\?[^""]*f=\d+/i или
$data =~ /phpBB\-SEO/i или
$данни =~ /) ;
печат "ipb \н"
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?invision(?:board|power)\.com\/?[^"]*"[^>]*> [^<]*IP\.Board/i или
$данни =~ /]+href="[^"]*http:\/\/(?:www\.)?invisionboard\.com\/?"[^>]*>Invision Power Board/iили
$данни =~ /

/iили
$данни =~ /index\.php\?[^""]*showforum=\d+/i) ;
отпечатайте "vbulletin \н"
if ($data =~ /Осъществено от:?[^<]+vBulletin[^<]+(?:Version)?/i или
$данни =~ /) ;
печат "smf \н"
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?simplemachines\.org\/?"[^>]*>Осъществено от SMF/iили
$данни =~ /index\.php\?[^""]*board=\d+\.0/i) ;
печат "punbb \н"
if ($data =~ /]+href="[^"]*http:\/\/(?:(?:www\.)?punbb\.org|punbb\.informer\.com)\/?"[^>]*> PunBB/i) ; #или
# $data =~ /viewforum\.php\?[^""]*id=\d+/i);
печат "fluxbb \н"
# if($data =~ /viewtopic\.php\?id=\d+/i или
if ($data =~ /]+href="http:\/\/(?:www\.)fluxbb\.org\/?"[^>]*>FluxBB/i) ;
печат "exbb \н"
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?exbb\.org\/?"[^>]*>ExBB/i) ; # или
# $data =~ /forums\.php\?[^""]*forum=\d+/i);
печат "yabb \н"
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?yabbforum\.com\/?"[^>]*>YaBB/iили
$data =~ /YaBB\.pl\?[^""]*num=\d+/i ) ;
печат "dleforum \н"
if ($data =~ /\(Осъществено от DLE форум\)<\/title>/iили
$данни =~ /]+href="[^"]+(?:http:\/\/(?:www\.)?dle\-files\.ru|act=copyright)[^"]*">DLE форум<\/a>/i) ;
печат "ikonboard \н"
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?ikonboard\.com\/?[^"]*"[^>]*>Ikonboard/iили
$данни =~ /\н"
if ($data =~ /\н"
# if($data =~ /forums\.php\?fid=\d+/i или
# $data =~ /topic\.php\?fid=\d+/i или
if ($data =~ /]+href="http:\/\/(?:www\.)?flashbb\.net\/?"[^>]*>FlashBB/i) ;
печат "stokesit \н"
# if($data =~ /forum\.php\?f=\d+/i или
if ($data =~ /]+href="http:\/\/(?:www\.)?stokesit\.com\.au\/?"[^>]*>[^\/]*Stokes IT/i) ;
печат "подиум \н"
# if($data =~ /topic\.php\?t=\d+/i или
if ($data =~ /]+href=[""]?http:\/\/(?:www\.)?sopebox\.com\/?[""]?[^>]*>Подиум/i) ;
печат "usebb \н"
# if($data =~ /forum\.php\?id=\d+/i или
if ($data =~ /]+href="http:\/\/(?:www\.)?usebb\.net\/?"[^>]*>UseBB/i) ;
печат "wrforum \н"
# if($data =~ /index\.php\?fid=\d+/i или
if ($data =~ /]+href="http:\/\/(?:www\.)?wr\-script\.ru\/?"[^>]*>WR\-Forum/i) ;
печат "yetanotherforumnet \н"
ако ($data =~ /Още един форум\.net/i или
$данни =~ /по подразбиране\.aspx\?g=posts&t=\d+/i) ;

Ще намерите този и други скриптове, споменати в публикацията в този архив.

Скрипт който-форум.plпроверява кода на HTML страницата, за да види дали съдържа подписи на двигателя на форума. Използвахме подобна техника, когато Дефиниция на WordPress и Joomla, но има няколко разлики. Първо, самият скрипт не зарежда кода на страницата, а го чете от stdin или файл, подаден като аргумент. Това ви позволява да изтеглите страницата веднъж, например с помощта на wget, и след това да я пуснете през няколко анализатора, ако имаме повече от един. Второ, в този скрипт наличието на подпис е 100% знак на двигателя. Последният път наличието на подпис само добави тежест към съответния двигател и двигателят с най-голямо тегло „спечели“. Реших, че в този случай подобен подход само ще усложни ненужно кода.

За да тествам сценария, направих някои проучвания. Съставих списък от няколко хиляди форума и прекарах всеки от тях през моя скрипт, като по този начин определих процента на програмните отговори и популярността на различните двигатели.

За да получа списък с форуми, които използвах с вашия анализатор на Google. Заявки като тази бяха изпратени до търсачката

сайт: форум.*.ru
сайт: talk.*.ru
сайт: борд.*.ru
сайт: smf.*.ru
сайт:phpbb.*.ru
....

и така нататък. Във файла ще намерите пълния код на генератора на заявки gen-forumsearch-urls.pl. Освен zone.ru са използвани и .su .ua .kz и .by. Последният път беше трудно да се проведе подобно проучване, тъй като сайтовете на WordPress и Joomla нямат такива подписи в URL адреса. Каталози като cmsmagazine.ru/catalogue/ не осигуряват достатъчен размер на извадката. Какво е 600 Drupal сайта?

Трябва да призная, резултатите от експеримента ме разочароваха. От изследваните 12 590 сайта, двигателят е идентифициран успешно само в 7 083, тоест само в 56% от случаите. Може би не съм взел предвид някой двигател? Вярно ли беше, че половината от форумите имат инсталиран Bitrix? Или трябваше да отделя повече време за търсене на подписи? По принцип тук са необходими допълнителни изследвания.

Сред 56% от успешно идентифицираните машини, най-популярните, както се очакваше, бяха IPB (31%), phpBB (26,6%) и vBulletin (26,5%)

Следват ги с голямо изоставане SMF (5.8%) и DLEForum (5.3%). моя любими punBBзавършва едва на 6-то място (1,64%). Не бих препоръчал да се вярва много на тези цифри (казват, че всеки трети форум в RuNet работи на IPB), но някои изводи, разбира се, могат да бъдат направени.

Например, ако възнамерявате да направите сайт на форумна машина и планирате да модифицирате форума, да речем, да плащате на потребителите $0,01 за всяко съобщение с автоматично изтегляне на средства веднъж седмично, тогава трябва да изберете една от трите най-популярни машини. Колкото по-популярен е форумът, толкова по-големи са шансовете да намерите програмист, който го познава добре.

Ако не се очакват значителни промени в двигателя, тогава може да има смисъл да изберете по-малко популярен двигател, например SMF или punBB. Това ще намали броя на хакерските атаки към вашия форум и количеството спам, изпращан автоматично в него.

Скриптовете за търсене/идентифициране на форуми също могат да намерят много практически приложения. Първото нещо, което ми хрумна беше това сортиране по TCIидентифицирани форуми и поставете публикации в първите сто с връзки към един от вашите сайтове. Въпреки това, стотици форумни dofollow връзки не повлияха на TCI по никакъв начин (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. Инсталиране и конфигуриране на анти-спам връзки

Привържениците на религията на SEO (можете да прочетете повече за моето отношение към SEO-нистите в друга) са твърдо убедени, че като увеличават броя на връзките към техния сайт, те го „популяризират“ (по някаква причина идеята за ​създаване на интересно и висококачествено съдържание не се харесва на никого не идва на ум). Щеше да е издънка, но щеше да има начини да се измъкнат пари от него. И така, някои „граждани“ предоставят услуги за „пускане“ на сайтове чрез форуми. Те създават голям брой акаунти в различни форуми и вмъкват обратни връзки там в подписи и други налични полета. Въпреки факта, че дори „SEO експериментаторите“ вече експериментално са доказали, че тези връзки са безполезни, някои предупреждават, че можете да получите забрана от търсачките за това, Yandex, например, просто игнорира връзките във ВСИЧКИ форуми и сайтове, където всеки може да оставя връзки. Google също има подобни алгоритми - игнориране на линкове в коментари и т.н. Но законът не е писан за глупаци... Затова ние, собствениците на форумите, трябва да се съобразяваме с факта, че "готините SEO оптимизатори" поръчват "прогон ” от техните скапани творения за хиляда рубли.

Приставката Stop Spammer ще филтрира много. Но ние можем да му помогнем! Можете да се възползвате от самия интерес да публикувате връзки във форума си от спамърите. Точно за това са анти-спам връзките. Този плъгин (конкретни числа могат да се променят в настройките) прави следното:

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

Повярвайте ми, бъдещите SEO специалисти са много внимателни относно формата, в която връзката им завършва на сайта. Те бързо ще загубят интерес към вашия форум, ако не могат лесно да публикуват скапаните си връзки към скапаните си сайтове там.

Да, между другото, горните правила работят и в полета като подписи.

За да инсталирате този плъгин, отидете на официалната му страница. Изтеглете архива anti_spam_links_v1.0.1.zip (номерът може да е различен). Отново в администратора на форума отидете на инсталиране на пакети (както направихте с предишния пакет) и го инсталирайте. Няма езиков файл за този пакет, така че няма нужда да разопаковате архива или да правите нещо с него.

За да конфигурирате приставката, отидете в секцията

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

Ако желаете, посочете колко съобщения трябва да има потребителят, за да надгради възможностите си.

Заключение

Тези два плъгина ще направят живота ви, на собственика на форума, МНОГО по-лесен и ще спестят много време. От време на време обаче спамърите проникват и поне веднъж седмично трябва да „разредите“ потребителите и да изтриете спам съобщенията. Затова не изоставяйте своите уеб ресурси!