Cum să vă protejați forumul Simple Machines (SMF) de spam. Detectarea automată a motorului de forum Concluzii index php topic powered by smf

Să începem imediat cu codul de script principal:

#!/usr/bin/perl

# scriptul care-forum.pl
# (c) 2010 Alexandr A Alexeev, http://site/

folosiți strict;

# rânduri comentate - pentru rigoare
# dacă sarcina este de a colecta statistici ale motorului, lăsați-o așa cum este
# dacă faci o listă de forumuri - decomentează

my $data ;
$date .= $_while (<> ) ;

# verificați cât de mult a fost Powered by phpBB fără un link în subsol
tipăriți „phpbb \n"
dacă ($date =~ /]+href="[^"]*http:\/\/(?:www\.)?phpbb\.com\/?"[^>]*>phpBB/i sau
# $date =~ /viewforum\.php\?[^""]*f=\d+/i sau
$date =~ /phpBB\-SEO/i sau
$date =~ /) ;
tipăriți „ipb \n"
dacă ($date =~ /]+href="[^"]*http:\/\/(?:www\.)?invision(?:board|power)\.com\/?[^"]*"[^>]*> [^<]*IP\.Board/i sau
$date =~ /]+href="[^"]*http:\/\/(?:www\.)?invisionboard\.com\/?"[^>]*>Invision Power Board/i sau
$date =~ /

/i sau
$date =~ /index\.php\?[^""]*showforum=\d+/i) ;
tipăriți „vbuletin \n"
dacă ($date =~ /Produs de:?[^<]+vBulletin[^<]+(?:Version)?/i sau
$date =~ /) ;
tipăriți „smf \n"
dacă ($date =~ /]+href="[^"]*http:\/\/(?:www\.)?simplemachines\.org\/?"[^>]*>Alimentat de SMF/i sau
$date =~ /index\.php\?[^""]*board=\d+\.0/i) ;
tipăriți „punbb \n"
dacă ($date =~ /]+href="[^"]*http:\/\/(?:(?:www\.)?punbb\.org|punbb\.informer\.com)\/?"[^>]*> PunBB/i); #sau
# $date =~ /viewforum\.php\?[^""]*id=\d+/i);
tipăriți „fluxbb \n"
# if($data =~ /viewtopic\.php\?id=\d+/i sau
dacă ( $date =~ /]+href="http:\/\/(?:www\.)fluxbb\.org\/?"[^>]*>FluxBB/i) ;
tipăriți „exbb \n"
dacă ($date =~ /]+href="[^"]*http:\/\/(?:www\.)?exbb\.org\/?"[^>]*>ExBB/i); # sau
# $date =~ /forums\.php\?[^""]*forum=\d+/i);
tipăriți „yabb \n"
dacă ($date =~ /]+href="[^"]*http:\/\/(?:www\.)?yabbforum\.com\/?"[^>]*>YaBB/i sau
$date =~ /YaBB\.pl\?[^""]*num=\d+/i ) ;
tipăriți „dleforum \n"
dacă ($date =~ /\(Alimentat de Forumul DLE\)<\/title>/i sau
$date =~ /]+href="[^"]+(?:http:\/\/(?:www\.)?dle\-files\.ru|act=copyright)[^"]*">Forumul DLE<\/a>/i) ;
imprimați „ikonboard \n"
dacă ($date =~ /]+href="[^"]*http:\/\/(?:www\.)?ikonboard\.com\/?[^"]*"[^>]*>Ikonboard/i sau
$date =~ /
dacă ($date =~ /
# if($data =~ /forums\.php\?fid=\d+/i sau
# $date =~ /topic\.php\?fid=\d+/i sau
dacă ($date =~ /]+href="http:\/\/(?:www\.)?flashbb\.net\/?"[^>]*>FlashBB/i) ;
tipăriți „stokesit \n"
# if($date =~ /forum\.php\?f=\d+/i sau
dacă ($date =~ /]+href="http:\/\/(?:www\.)?stokesit\.com\.au\/?"[^>]*>[^\/]*Stokes IT/i) ;
imprimă „podium \n"
# if($date =~ /topic\.php\?t=\d+/i sau
dacă ($date =~ /]+href=[""]?http:\/\/(?:www\.)?sopebox\.com\/?[""]?[^>]*>Podium/i) ;
tipăriți „usebb \n"
# if($date =~ /forum\.php\?id=\d+/i sau
dacă ($date =~ /]+href="http:\/\/(?:www\.)?usebb\.net\/?"[^>]*>UseBB/i) ;
tipăriți „wrforum \n"
# if($data =~ /index\.php\?fid=\d+/i sau
dacă ($date =~ /]+href="http:\/\/(?:www\.)?wr\-script\.ru\/?"[^>]*>WR\-Forum/i) ;
tipăriți „yetanotherforumnet \n"
if ($date =~ /Yet Another Forum\.net/i sau
$date =~ /default\.aspx\?g=posts&t=\d+/i) ;

Veți găsi acest lucru și alte scripturi menționate în postarea din această arhivă.

Scenariul care-forum.pl examinează codul paginii HTML pentru a vedea dacă conține semnături ale motorului de forum. Am folosit o tehnică similară atunci când definim WordPress și Joomla, dar există câteva diferențe. În primul rând, scriptul în sine nu încarcă codul paginii, ci îl citește din stdin sau dintr-un fișier transmis ca argument. Acest lucru vă permite să descărcați pagina o dată, de exemplu, folosind wget, și apoi să o rulați prin mai multe analizoare, dacă avem mai multe. În al doilea rând, în acest script prezența unei semnături este 100% un semn al motorului. Ultima dată, prezența unei semnături doar a adăugat greutate motorului corespunzător și motorului cu cea mai mare greutate „câștigat”. Am decis că, în acest caz, o astfel de abordare nu ar face decât să complice inutil codul.

Pentru a testa scenariul, am făcut câteva cercetări. Am compilat o listă de câteva mii de forumuri și am trecut pe fiecare dintre ele prin scriptul meu, determinând astfel procentul de răspunsuri la program și popularitatea diferitelor motoare.

Pentru a obține lista de forumuri, am folosit analizatorul meu Google. Interogări de genul acesta au fost trimise motorului de căutare

site:forum.*.ru
site:talk.*.ru
site:board.*.ru
site:smf.*.ru
site:phpbb.*.ru
....

și așa mai departe. Veți găsi codul complet al generatorului de interogări în fișier gen-forumsearch-urls.pl. Pe lângă zone.ru, au mai fost folosite și .su .ua .kz și .by. Data trecută, a fost dificil să se realizeze un astfel de studiu, deoarece site-urile WordPress și Joomla nu au astfel de semnături în URL. Cataloage precum cmsmagazine.ru/catalogue/ nu oferă o dimensiune suficientă a eșantionului. Ce înseamnă 600 de site-uri Drupal?

Trebuie să recunosc, rezultatele experimentului m-au dezamăgit. Din cele 12.590 de site-uri studiate, motorul a fost identificat cu succes pe doar 7.083, adică doar în 56% din cazuri. Poate nu am luat in calcul vreun motor? Era chiar adevărat că jumătate din forumuri aveau instalat Bitrix? Sau ar fi trebuit să petrec mai mult timp căutând semnături? În general, aici sunt necesare cercetări suplimentare.

Dintre cele 56% dintre motoarele identificate cu succes, cele mai populare, după cum era de așteptat, au fost IPB (31%), phpBB (26,6%) și vBulletin (26,5%)

Ele sunt urmate cu un decalaj mare de SMF (5,8%) și DLEForum (5,3%). PunBB-ul meu preferat a fost doar pe locul 6 (1,64%). Nu aș recomanda să puneți prea multă încredere în aceste cifre (se spune că fiecare al treilea forum de pe RuNet rulează pe IPB), dar anumite concluzii pot fi, desigur, trase.

De exemplu, dacă intenționați să faceți un site pe un motor de forum și intenționați să modificați forumul, de exemplu, să plătiți utilizatorilor 0,01 USD pentru fiecare mesaj cu retragerea automată a fondurilor o dată pe săptămână, atunci ar trebui să alegeți unul dintre cele mai populare trei motoare. Cu cât forumul este mai popular, cu atât sunt mai mari șansele de a găsi un programator care este bine versat în el.

Dacă nu sunt de așteptat modificări semnificative la motor, atunci ar putea avea sens să alegeți un motor mai puțin popular, de exemplu SMF sau punBB. Acest lucru va reduce numărul de atacuri de hackeri pe forumul dvs. și cantitatea de spam trimisă automat pe acesta.

Scripturile pentru căutarea/identificarea forumurilor pot găsi, de asemenea, multe aplicații practice. Primul lucru care mi-a venit în minte a fost să sortez forumurile identificate după TIC și să postez pe primele sute de postări cu link-uri către unul dintre site-urile mele. Cu toate acestea, sute de link-uri dofollow pe forum nu au afectat în niciun fel TCI (au trecut 2 actualizări), așa că este mai bine să nu pierdeți timpul aici, decât dacă nu sunteți interesat de tranziții.

Este clar că utilizarea menționată a scripturilor este departe de a fi singura. Cred că îți poți da seama cu ușurință cum altfel le poți folosi.

Toată lumea știe că pur și simplu nu pot trăi fără Joomla, dar, în opinia mea, nu există un forum bun pentru componente. De aceea lucrez cu motoare de forum. Una dintre cele noi pe care tocmai le-am început recent să le folosesc este Să începem o nouă categorie SMF cu lucruri, sperăm, utile. Începem cu mici, iar ca începători este foarte util.

Primii pași în optimizarea motoarelor de căutare Simple Machines Forum: eliminarea drepturilor de autor și a linkurilor externe

Permiteți-mi să fac o rezervare imediat că lucrez doar cu smf 2 și acest articol se va referi în mod specific la această versiune a motorului de forum gratuit.

Și astfel, cititorii obișnuiți știu cât de mult nu-mi place să pun „10” link-uri externe către site-urile oficiale ale motoarelor, inclusiv cele de forum. De aceea, în primul rând, eliminăm drepturile de autor și până la 4, atenție 4 link-uri externe ale formularului " SMF 2.0.2 | Mașini simple | SMF © 2011 | XHTML„! Pentru a face acest lucru, conectați-vă la site prin FTP forum/Teme/ numele temei dvs/ și editați fișierul index.template.php. Desigur, în partea de jos există un cod (aproximativ linia 330) care afișează link-uri externe care nu ne plac atât de mult. Prin urmare, ștergem: "

  • ", theme_copyright(), "
  • " Și "
  • ", $txt["xhtml"], "
  • ". Totul este atât de simplu și ușor. În următoarele publicații, așteptați-vă noi materiale despre promovarea și optimizarea forumurilor pe SMF/

    În cazul în care cineva nu știe, Simple Machines Forum - SMF pe scurt - este, după cum se menționează pe site-ul oficial, un pachet gratuit, de calitate profesională, care vă va permite să vă organizați propria comunitate online în câteva minute. pe acest motor, te poți uita aici. Eu însumi mi-am creat propriul forum pe el (apropo, mergi la FreeForum.biz).

    Nu contează cât de mult sau de puțin spam apare pe forumul tău. Important este să-ți petreci timpul prețios cu moderație. Configurarea unui plugin care va face toată munca pentru tine durează câteva minute și te va economisi, în total, zile și luni, ceea ce se va adăuga la minutele pe care le-ai fi petrecut ștergând mesaje și ștergând utilizatori.

    Voi observa că am încercat să lupt singur cu spammerii - am blocat accesul prin IP și chiar prin subrețele. Chiar a funcționat, a filtrat o mulțime de gunoi, dar cu toate acestea, o dată la una sau două zile, cineva a reușit să treacă. Și a durat destul de mult pentru a completa baza de date cu IP-uri interzise. M-am gândit că trebuie să existe o cale mai bună și, într-adevăr, a existat!

    1. Instalarea și configurarea Stop Spammer

    În două săptămâni de funcționare, acest plugin a blocat 2202 de utilizatori falși. Fiecare dintre ei ar lăsa cel puțin un mesaj. Spammerii nu dau semne de încetinire și mi-aș petrece timp curățând forumul în fiecare zi.

    În schimb, la fiecare câteva zile merg la pagina de gestionare a utilizatorilor și văd ceva de genul acesta:

    Trec la secțiunea „În așteptarea aprobării” (aceștia sunt spammerii găsiți care sunt privați de posibilitatea de a lăsa mesaje până când conturile lor sunt aprobate de administrator). Bifez caseta de selectare „Select all” și le șterg cu un singur clic:

    Gata, toate conturile de spam trec în uitare. Să revenim la lista noastră de utilizatori:

    Se vede că lista s-a subțiet considerabil, dar cine sunt restul? Selectăm pe toți și îi trimitem spre verificare cu un singur buton:

    Apare unul „roșu”, îl ștergem imediat. Dacă ai timp liber, poți să faci altele. Dacă nu aveți timp, atunci nu faceți nimic cu utilizatorii noi - cei mai mulți dintre ei se vor „ruși” în timpul verificărilor ulterioare. Dacă ai timp, poți să mergi la profilurile lor și să te uiți - dacă există un link în semnătură, vor fi imediat interzise, ​​acestea sunt conturi false ale spammerilor care nu vor lăsa niciodată un singur mesaj util.

    Ți-am spus cum să folosești acest plugin magic, acum îți voi spune cum să-l instalezi.

    Descărcați două fișiere: language_full.zip (acesta este pachetul de limbă pentru traducerea pluginului) și StopSpammer_v2_3_9.zip (numărul poate fi diferit, deoarece versiunile sunt actualizate). Despachetați conținutul arhivei StopSpammer_v2_3_9.zip într-un folder. Despachetați arhiva language_full.zip în același folder și acceptați să înlocuiți fișierele. Acum împachetați folderul nostru într-o arhivă zip.

    În panoul de administrare, treceți la instalarea pachetelor. Vizavi de inscripția „Descărcați pachetul” există un buton pentru selectarea unui fișier pe computer. Selectați noua noastră arhivă (unde am înlocuit fișierul de limbă), încărcați-o pe forum și activați pachetul.

    Asta este!

    Configurarea suplimentară a pluginului are loc în panoul de administrare: accesați

    Utilizatori → Înregistrare → Setări

    Puteți lăsa valorile implicite acolo. Există, de asemenea, un câmp „Cheia ta API”. Fără această cheie, nu veți putea raporta noi spammeri (dar pluginul va funcționa și va filtra spammerii cunoscuți). Dacă doriți să obțineți propria cheie API, accesați www.stopforumspam.com pentru a vă înregistra, apoi introduceți cheia aici. Dacă nu ați primit încă cheia, lăsați câmpul necompletat. Apoi va fi folosită cheia implicită.

    2. Instalarea și configurarea Legăturilor Anti-Spam

    Adepții religiei SEO (puteți citi mai multe despre atitudinea mea față de SEO-niștii în altul) au convingerea fermă că prin creșterea numărului de link-uri către site-ul lor, îl „promovează” (din anumite motive ideea de ​crearea de conținut interesant și de înaltă calitate nu atrage pe nimeni nu vine în minte). Ar fi un prost, dar ar exista modalități de a scoate bani de la el. Deci, unii „cetățeni” oferă servicii pentru „rularea” site-urilor prin forumuri. Ei creează un număr mare de conturi pe diferite forumuri și introduc backlink-uri acolo în semnături și în alte câmpuri disponibile. În ciuda faptului că chiar și „experimentatorii SEO” au demonstrat deja experimental că aceste link-uri nu sunt utile, unii avertizează că puteți obține o interdicție de la motoarele de căutare pentru aceasta, Yandex, de exemplu, pur și simplu ignoră link-urile de pe TOATE forumurile și site-urile unde oricine. pot lăsa link-uri. Google are, de asemenea, algoritmi similari - ignorarea link-urilor în comentarii etc. Dar legea nu este scrisă pentru nenorociți... Prin urmare, noi, proprietarii forumurilor, trebuie să luăm în calcul faptul că „optimizatorii SEO cool” comandă o „curătură”. ” din creațiile lor de rahat pentru o mie de ruble.

    Pluginul Stop Spammer va filtra foarte mult. Dar îl putem ajuta! Vă puteți interesa de a posta link-uri pe forumul dvs. de sub spammeri. Pentru asta sunt exact linkurile anti-spam. Acest plugin (numerele specifice pot fi modificate în setări) face următoarele:

    • cei care, de exemplu, au mai puțin de cinci mesaje, nu pot lăsa deloc link-uri
    • cei care, de exemplu, au mai puțin de 15 mesaje, nu pot lăsa linkuri active, http:// este eliminat din linkuri și, în general, aceste linkuri devin nubolinks (newbielink)
    • cei cu, de exemplu, mai puțin de 50 de postări pot lăsa link-uri active, dar tuturor link-urilor primesc un atribut nofollow.
    • Ei bine, cei care au mai mult de 50 de postări pot insera cele mai frecvente link-uri active, care transferă greutatea site-ului către pagina la care este legată.

    Crede-mă, potențialii SEO sunt foarte atenți la forma în care linkul lor ajunge pe site. Își vor pierde rapid interesul față de forumul tău dacă nu își pot posta cu ușurință link-urile lor proaste către site-urile lor proaste acolo.

    Da, apropo, regulile de mai sus funcționează și în domenii precum semnăturile.

    Pentru a instala acest plugin, accesați pagina oficială. Descărcați arhiva anti_spam_links_v1.0.1.zip (numărul poate fi diferit). Din nou în administratorul forumului, mergeți la instalați pachete (cum ați făcut cu pachetul anterior) și instalați-l. Nu există niciun fișier de limbă pentru acest pachet, deci nu este nevoie să despachetați arhiva sau să faceți nimic cu ea.

    Pentru a configura pluginul, accesați secțiunea

    Configurare → Configurarea modurilor… → Configurarea modificărilor

    Dacă doriți, specificați câte mesaje trebuie să aibă utilizatorul pentru a-și îmbunătăți capacitățile.

    Concluzie

    Aceste două plugin-uri îți vor face viața, proprietarul forumului, FOARTE mult mai ușoară și vor economisi mult timp. Cu toate acestea, din când în când spammerii pătrund și, cel puțin o dată pe săptămână, trebuie să „subțireți” utilizatorii și să ștergeți mesajele spam. Prin urmare, nu abandonați resursele dvs. web!