Magazin online Magento – cum sa opresti conturile false inregistrate automat

Astazi putin despre o problema frecventa ce poate aparea la un magazin online bazat pe platforma Magento dar si in cazul altor platforme.
Articolul de fata este despre un caz concret. Se da un client cu un magazin online dezvoltat pe Magento 1.9. Acesta ne-a solicitat ajutorul deoarece a constatat o problema cu emailurile trimise de pe server. Un numar foarte mare de mailuri trimise si o rata medie scazuta a livrarilor cu succes.
Problema lasata nerezolvata, duce in timp la deteriorarea reputatiei trimitatorului (a domeniului detinut si/sau al IP-ul alocat acestuia). Ulterior, se ajunge ca acest magazin online sa fie inclus intr-un black list. Odata black list-at un magazin online, chiar si emailurile valide trimise au mari sanse sa ajunga in folderul SPAM sau chiar blocate de tot si nelivrate destinatarului.

Analiza problemei magazinului online

Analizand problema in detaliu, am constatat ca majoritatea emailurilor trimise si nelivrate, sunt emailuri trimise de site. Este vorba de acele „welcome emails” trimise automat atunci cand se inregistreaza pe site un vizitator. Intrand in sectiunea de administrare a siteului, la sectiunea Customers, am avut o surpriza. Mii de utilizatori creati, in mod evident creati automat de boti. Acest lucru era foarte evident avand in vedere ca toti aveau nume similare, generate automat de un script malitios dupa un anumit pattern. In cazul acesta, numele era format intotdeauna dintr-o asociere de nume si prenume, avand la final adaugate 2 caractere cu majuscule, pentru unicitate, iar adrese de email erau din Rusia sau China. De asemenea, timpul in care au fost create aceste conturi, a fost unul scurt, in neconcordanta cu ritmul obisnuit de aparitie al conturilor noi, valide.

Rezolvarea problemei

Evident, in prima faza, am sters toate aceste conturi false si am activat codul CAPTCHA pe pagina de inregistrare cont client. In cazul magazinului magento, versiunea 1.9, acest lucru se poate face foarte usor, din System / Customers / Customer Configuration / CAPTCHA:

activare CAPTCHA in magento 1.9
activare CAPTCHA in magento 1.9

Am lasat asa siteul vreo 2 zile, in speranta ca acest cod CAPTCHA va rezolva problema. Nu a fost asa, scriptul a fost mai istet decat am anticipat, a reusit sa treaca de verificarea CAPTCHA, inregistrand in continuare conturi false noi.

Urmatoarea etapa a fost trecerea siteului pe cloudflare. Aceasta este un serviciu foarte bun pentru managementul setarilor DNS, dar si pentru o multime de alte avantaje oferite. Pe langa conturile platite, care vin cu alte avantaje la pachet, exista si contul „FREE”. Chiar si acesta, ofera suficiente avantaje unui site de dimensiune mica spre medie. Trecerea este relativ simpla, tot ce trebuie facut este sa inregistram un cont pe platforma lor, daca nu avem deja unul creat anterior. Pentru a ruta DNS-ul prin ei, adaugam siteul in cont si setam la registrar-ul domeniului, noile name-servere oferite de cloudflare. Dupa un timp scurt de cateva ore (pana la maxim o zi) necesare propagarii, contul va deveni activ si putem utiliza avantajele acestei platforme.

In primul rand, pentru a limita inregistrarea conturilor noi doar pentru clientii din România, am facut o modificare in formularul de inregistrare. In cazul platformei Magento 1.9, formularul in cauza, este localizat de regula aici:

app\design\frontend\[ numele temei folosite ]\default\template\persistent\customer\form\register.phtml

Daca tema utilizata nu contine acest fisier template, se face fallback la tema default sau tema RWD (tema default pentru un layout responsive: Responsive Web Design).

Odata cu cloudflare, avem la dispozitie in variabila globala $_SERVER, un atribut pentru tara de provenienta a vizitatorului (HTTP_CF_IPCOUNTRY). Acest lucru este foarte convenient, intrucat ne scuteste de utilizarea unor servicii de geolocation.

Editare template inregistrare utilizator magazin online

Putem edita fisierul template amintit mai sus, incadrand partea din fisier care genereaza formularul de inregistrare, intr-o structura IF-ELSE, astfel:

	<?php
	if ( $_SERVER['HTTP_CF_IPCOUNTRY'] != 'RO' ) {
	?>
		<p>.... Aici putem introduce un mesaj care sa anunte 
		vizitatorii straini ca inregistrarea de conturi noi este 
		permisa doar vizitatorilor din tara noastra.</p>
		<p>Daca totusi exista clienti care temporar se afla 
		in afara tarii, pot plasa comenzi utilizand modul 
		"guest checkout" in timpul plasarii comenzii.</p>
	<?php } else { ?>
	<?php echo $this->getChildHtml('form_fields_before')?>
	<?php echo $this->getMessagesBlock()->toHtml() ?>
	<form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="form-validate" class="scaffold-form" enctype="multipart/form-data">
		...
	</form>
	<script type="text/javascript">
		... 
	</script>
	<?php } ?>

In acest fel, formularul va fi afisat doar vizitatorilor din Romania.

Punctul de pe i

Si pentru ca nu dorim sa subestimam istetimea autorilor acestor scripturi, apreciem ca exista mari sanse ca trimiterea formularului pentru inregistrarea clientului „fake” sa se faca direct la adresa care proceseaza cererea venita printr-un request POST. Caz in care editarea de mai sus este ineficienta. Pentru a elimina si acest risc, ne folosim de o alta functie foarte utila a platformei cloudflare. Functia in cauza este Page Rules, unde putem bloca accesul la anumite adrese ale siteului in functie de anumite conditii stabilite.

Cream o astfel de regula in contul nostru cloudflare, astfel:

Cand cererea indeplineste cumulativ (folosim operatorul AND intre operatori) conditiile:
– tipul request-ului este POST (Request Method equals POST)
– pagina accesata contine stringul customer/account/createpost – adica adresa responsabila de crearea conturilor noi (URI contains customer/account/createpost)
– tara este alta decat Romania (Country does not equal Romania)

atunci blocam cererea. Setarea arata in felul urmator:

creare page rule cloudflare pentru un magazin online
creare page rule cloudflare

In acest mod, ne asiguram ca toate accesarile automate din locatii nedorite sunt blocate.

In concluzie…

Daca doresti sa implementati ceva asemanator pe magazinul tau online si ai nevoie de ajutor, suntem la un click distanta.

Imagine there’s no spam.

It’s easy if you try.

O fi usor de imaginat, dar din pacate nu e suficient. Nu face ca monitoarele noastre sa stea pe masa mai relaxate, ferite de riscul unei intalniri neplanificate cu o tastatura accelerata la mach 3. Toti avem nervii intinsi la maxim din cauza SPAM-ului.

OK, dar ce putem face totusi?

Din nefericire, nu multe. Cu toata evolutia filtrelor anti-spam, a eforturilor tuturor celor implicati in fenomen, statisticile arata deprimant.

Zilnic se trimit 14.5 miliarde mesaje spam, ceea ce reprezinta 45% din totalitatea emailurilor trimise, conform spamlaws.com.

SPAM-ul reprezinta orice mesaj electronic nesolicitat, trimis in masa de catre diverse entitati, cu sau fara scopuri comerciale.

Am compilat aici o lista de cateva sfaturi pentru a reduce totusi pe cat se poate impactul acestui gunoi asupra activitatii noastre zilnice.

Ordinea nu este neaparat relevanta.

Sfaturi impotriva spam-ului

  1. Pe cat se poate, nu raspundeti niciodata la aceste mesaje. Un raspuns la un astfel de junk, nu face decat sa legitimeze in „ochii” serverelor contul trimitator de spam. In acelasi timp semnaleaza spammerii ca le-a fost citit gunoiul, adresa ta este una valida si utilizata. Urmarea va fi mai mult spam pe viitor. Am zis pe cat se poate, pentru ca in unele cazuri – voi detalia mai jos – prefer totusi sa raspund la unele dintre mesaje.
  2. Nu afisati peste tot adresa voastra de email – mai ales pe siteuri publice, de anunturi, forumuri, etc. Daca chiar este neaparata nevoie, tineti o adresa doar pentru asa ceva, adresa pe care eventual o forwardati catre adresa reala. Din cand in cand, puteti sterge aceasta adresa si faceti una noua.
  3. Debifati casutele de acceptare notificari de cate ori va inregistrati pe vreun site. Noile reglementari interzic preselectarea acestor casute de acceptare, dar nu toate siteurile sunt puse la punct cu aceste prevederi GDPR. Daca nu doriti neaparat sa aflati noutatile lor, debifati aceste casute.
  4. Cel putin la spamurile comerciale, trimise de firme romanesti, folosesc mecanismele lor de dezabonare (de parca m-as fi abonat vreodata la gunoiul lor!!). Sunt probabil printre spammeri si unii care folosesc unelte serioase, care implementeaza astfel de mecanisme si chiar tin cont de ele.
  5. In cazul acestor emailuri de la companii autohtone, verific in sursa raw a mesajului. Asta daca exista informatii suplimentare despre platforma folosita pentru trimiterea mesajului. De multe ori, exista chiar si adrese de email pentru raportarea spammerilor, abuzului de orice fel. Platformele serioase de email marketing, de genul mailchimp, au o politica foarte bine pusa la punct anti-spam. Acestia sanctioneaza imediat pe cei care importa si trimit spam la contacte care nu si-au dat acordul si includ aceste informatii in sursa mesajului trimis. Merita acele 2 minute irosite pentru a bloca, chiar si daca temporar, un spammer sa mai trimita junkuri.
  6. Printre cei mai nesimtiti sunt acei spammeri care trec in subsolul gunoiului trimis, justificari penibile explicand ca de fapt spamul lor nu este spam, pentru ca exista metode de dezabonare si pentru ca si-au trecut ei pe acolo pe undeva numele expeditorului. Nimic mai fals, chiar si fara noile reglementari aduse de GDPR, trimiterea de mesaje nesolicitate este ilegala. Acestora le trimit un raspuns (aici nu ma abtin si incalc ce am zis la #1), le cer dovada clara a consimtamantului meu. In lispa prezentarii acestei dovezi in x zile, ii informez ca vor suporta toate consecintele legale.
    Articolul 12 din legea 506 este foarte clar: (1) Este interzisă efectuarea de comunicări comerciale prin utilizarea unor sisteme automate de apelare şi comunicare care nu necesită intervenţia unui operator uman, prin fax ori prin poştă electronică sau prin orice altă metodă care foloseşte serviciile de comunicaţii electronice destinate publicului, cu excepţia cazului în care abonatul sau utilizatorul vizat şi-a exprimat în prealabil consimţământul expres pentru a primi asemenea comunicări.
    Ce pacat ca nu se prea aplica aceasta lege! Ce de bani s-ar aduna la bugetul de stat!
  7. Marcati ca spam/junk toate mesajele care va intra in inbox, scapand filtrului anti-spam. Aceste filtre sunt gandite sa invete recunoscand aspecte comune ale acestor mesaje, crescand pe viitor eficienta detectiei. La conturile gazduite de providerii mari de email (yahoo, gmail, etc), cu atat mai mult este important acest aspect, filtrele lor au un impact mult mai mare in rata de livrare.
  8. In masura timpului disponibil, utilizati tool-uri de raportare spam, de exemplu spamcop.com. Va puteti crea un cont si raporta mesaje nesolicitate. Acesti senderi sunt apoi trecuti in liste negre, rata lor de livrare avand mult de suferit.

Daca aveti alte idei, le astept cu nerabdare in sectiunea de comentarii de mai jos, sau pe pagina de contact

Va doresc o zi fara SPAM!