Cele mai bune modalități de combatere a spamului

Spamul este una dintre capcanele majore ale rețelei sociale. Potrivit unor site-uri precum Postini, 10 din 12 mesaje e-mail sunt spam. Ca și cum acest lucru nu ar fi fost de ajuns pentru a vă face să vă loviți, 1 din 39 de e-mailuri conține un virus. Spamul penetrează și în alte regiuni ale internetului. Creatorii software-ului blogging Wordpress spun că aproape 87% din toate comentariile de pe blog sunt de asemenea spam. Dat fiind că aplicațiile de mesagerie și comunicații se dezvoltă pe tot globul, dezvoltatorii și proprietarii de site-uri trebuie să devină creativi în lupta împotriva mii și mii de mesaje nedorite streaming în fiecare zi. Deciderea celei mai bune metode de prevenire a spamului pe blogurile, forumurile sau chiar formularele de contact poate fi dificilă. În acest articol vom analiza un serviciu numit Akismet și cum poate ajuta. De asemenea, ne vom uita de ce alte metode de combatere a spam-ului nu reușesc.

Metode de combatere a spamului

Neacordarea mai multor depuneri consecutive. Spamatorii aproape întotdeauna posta mai mult de un comentariu sau mesaj SPAM la un moment dat. O metodă comună de combatere a spam-urilor este înregistrarea mesajelor primite cu adresa IP a utilizatorului și o marcare de timp a postului. Apoi, atunci când un utilizator încearcă să trimită mai multe comentarii, puteți verifica dacă utilizatorul a postat mai mult de o dată într-o anumită fereastră de timp, de exemplu 30 de secunde sau dacă posterul actual a fost și ultimul poster. Aceasta nu este o metodă împotriva bulletului, deoarece spamerii pot folosi proxy-urile atunci când doresc să posteze de mai multe ori și roboții au la fel de mult timp în lume pe cât vor să spamze site-ul dvs..

Lista neagră pentru cuvinte cheie. O altă metodă de combatere a spam-urilor este de a construi o listă neagră a cuvintelor cheie de spam comune și de a interzice postările care conțin cuvintele. În forma cea mai simplă, puteți crea o serie de cuvinte cheie și puteți verifica dacă un șir primit le conține. Spamatorii au dezvoltat apărarea împotriva acestei metode prin postarea unor variații ale cuvintelor. Ele înlocuiesc litere cu numere, simboluri și alte astfel de caractere pentru a crea o gamă largă de variante de cuvinte cheie.

CAPTCHA. CAPTCHA (testul public Turing public complet automat) este una dintre cele mai comune tehnici de prevenire a spam-urilor de pe web astăzi. Tehnica este foarte utilă și aproape orice site care vă permite să vă înregistrați pentru un cont sau să postați informații utilizează în mod public CAPTCHA într-un fel sau altul. Testele CAPTCHA pot fi fișiere audio, dar sunt mai frecvent imagini care prezintă o serie de caractere și numere pe care trebuie să le introduceți într-un formular. Tehnica este un instrument util pentru blocarea roboților care încearcă să viziteze site-ul dvs. pentru a posta mesaje spam sau pentru a crea conturi false cu informații false.

CAPTCHA funcționează bine pentru utilizarea dorită, dar există dezavantaje minore. Un CAPTCHA necesită un câmp (încă un alt domeniu) pe care utilizatorii să îl completeze după ce a introdus nume de utilizator, parole și întrebări de securitate. Există, desigur, un factor de enervare care însoțește utilizarea lor. În plus, este posibil ca utilizatorii cu handicap să nu poată utiliza câmpul CAPTCHA. În cele din urmă, spam-ul uman poate, de asemenea, spam-ul dvs. site-ul, deoarece un CAPTCHA numai blochează robot spammers.

Ce-a mai rămas?

După ce ați analizat unele dintre metodele actuale și punctele slabe ale acestora, s-ar putea să vă întrebați ce altceva putem face pentru a proteja aplicațiile noastre de blogging. Aș dori să introduc un nou instrument de combatere a spamului de la creatorii WordPress. Serviciul se numește Akismet și este descris de creatorii săi ca fiind un "efort de colaborare pentru a face comentariile și trackback-urile spam un non-problemă și a restabili nevinovăția în blogging, astfel încât să nu mai trebuie să vă faceți griji din nou cu privire la spam".

Instrumentul poate fi implementat în orice proiect, atâta timp cât aveți o cheie API, care poate fi utilizată gratuit pentru uz non-comercial sau achiziționată pentru uz comercial pentru doar 5 dolari pe lună. Există mai multe pluginuri Akismet pentru software-ul existent, iar acestea sunt identificate mai târziu în acest articol. Alternativ, puteți include serviciul în propriile proiecte pe care le vom demonstra.

Implementarea Akismet în proiectele proprii

De acum, singura modalitate de a primi o cheie API este să vă înscrieți pentru un cont de utilizator gratuit WordPress.com. Transformați browserele spre http://wordpress.com/signup/ și completați câmpurile obișnuite necesare: numele de utilizator, parola și adresa de e-mail, după cum se vede mai jos, apoi citiți și acceptați acordul privind termenii și condițiile. Asigurați-vă că vă înregistrați pentru un blog, deoarece nu puteți primi o cheie API fără înregistrare. Nu vă faceți griji cu privire la acest detaliu, deoarece cheia API nu va fi legată de un anumit blog. După ce ați terminat procesul de înregistrare, trebuie să primiți un e-mail cu noua cheie API.

Acum trebuie să descărcați și să dezarhivați PHP5Akismet.0.4.zip (24K) de la Achingbrain. Încărcați fișierul single php într-o zonă accesibilă prin intermediul scripturilor. Celelalte fișiere și documentația sunt doar pentru referință.

Vom presupune că lucrați cu un proiect existent. Acest lucru ar putea fi orice, care permite contribuțiile utilizatorilor, cum ar fi un forum sau un blog. De asemenea, vom presupune că logica pentru crearea și afișarea conținutului există deja. Având în vedere acest lucru, primul pas este să încărcați fișierul în propriul nostru proiect.

 includeți "calea / către / fișierul / Akismet.class.php";

Apoi va trebui să creați o nouă instanță a clasei Akismet. Folosind constructorul de clase, putem trece cheia noastră API și adresa URL a site-ului folosind-o. Asigurați-vă că înlocuiți următoarele date cu dvs..

 $ akismet = nou Akismet ("http://myblog.com", "API KEY HERE");

Acum, serviciul are nevoie de datele despre comentariile pe care vrem să le verificăm. În următoarea instanță folosesc câteva exemple de date, dar în producție informațiile despre comentarii ar proveni din datele POST. Serviciul Akismet va compara apoi informațiile despre comentarii cu o bază de date cu mai mult de 7,486,928,953 comentarii spam și va returna un rezultat dacă postul trimis a fost identificat ca un comentariu spam.

 $ akismet-> setCommentAuthor ("Justin Shreve"); $ Akismet-> setCommentAuthorEmail ( "[email protected]"); $ Akismet-> setCommentAuthorURL ( "http://serenelabs.com"); $ Akismet-> setCommentType ( "forumuri"); $ akismet-> setCommentContent ("Sunt cu adevărat de acord cu ceea ce spui! Nu pot să cred că nu m-am gândit niciodată la asta!");

Funcțiile prezentate aici sunt destul de simple. Singura funcție care necesită explicații suplimentare este funcția setCommentType. Acesta este folosit de Akismet pentru a ajuta serviciul să identifice originea comentariului (a fost postat pe un grup de știri public, pe forum sau pe blog?) Și puteți transmite orice argument doriți. De exemplu, dacă utilizați funcția pentru a proteja un wiki de spam, utilizați wiki ca tip. Dacă protejați un blog, utilizați un tip de blog.

Acum vom folosi o funcție numită isCommentSpam. Aceasta este funcția care contactează efectiv serviciul. Funcția booleană va reveni la adevărat dacă comentariul este identificat drept spam și fals dacă comentariul este verificat ca legitim.

 dacă ($ akismet-> isCommentSpam ()) // Aici putem stoca logica pentru a face față comentariilor spam. // De obicei, putem stoca comentariul intern pentru o referință ulterioară doar în cazul în care serviciul face o greșeală.  altceva // Aici introduceți conținutul în baza de date. 

Folosind Akismet este la fel de simplu ca aceste cateva linii de cod! Ați integrat acum un serviciu de combatere a spamului în site-ul dvs. Serviciul poate fi folosit împreună cu celelalte forme de apărare spam menționate mai sus. Rețineți că Akismet este un serviciu care crește de fiecare dată când o utilizați, deoarece funcțiile contribuie cu conținutul dvs. de spam la baza de date. Pot exista mesaje valide uneori identificate ca spam și invers. Ca rezultat, am putea dori să integrăm o funcționalitate mai mică pentru a face față identificării potențiale greșite.

Dacă un mesaj este identificat în mod eronat ca SPAM, atunci îl puteți notifica pe Akismet, iar acesta se va ocupa de acesta în mod corespunzător. Alternativ, puteți marca un comentariu ca SPAM dacă s-ar întâmpla să cadă prin filtrul Akismet. Atunci când implementați următoarele funcționalități, asigurați-vă că datele de comentariu din variabile sunt setate în același format ca mai sus.

Functia

 $ Akismet-> submitHam ();

poate fi folosit pentru a notifica serviciul că comentariul pe care l-au raportat ca spam este de fapt ok.

În timp ce funcția

 $ Akismet-> submitSpam ();

poate fi folosit pentru a notifica serviciul că un comentariu care a fost aprobat de fapt este o bucată de spam.

Alte biblioteci

PHP5 nu este pentru toată lumea. Bibliotecile Akismet au fost create, de asemenea, într-o serie de alte limbi. Mai jos sunt câteva dintre cele mai populare:

  • Piton
  • PHP4
  • Ruby on Rails
  • .NET 2.0

Toate acestea pot fi integrate cu ușurință în proiectele dvs., în același mod ca cel descris mai sus.

Implementări populare

Nu simțiți nevoia de a vă derula propriul software, dar totuși doriți să utilizați Akismet? Multe soluții există deja pentru blog, CMS sau software pentru forum:

  • Consiliul de Putere al Invisionului
  • phpBB
  • Drupal
  • vBulletin
  • Expression Engine
  • și, desigur, WordPress în mod implicit!

Închidere

Sper că acest ghid va servi ca o introducere în unele forme alternative de combatere a spamului. Un site fără SPAM nu pare să fie mai profesionist pentru utilizatori, ci este și mult mai ușor de administrat pentru administratori și moderatori.

Cod