HAI DIMENTICATO I TUOI DATI?

Prestashop SPAM Russo da Mail.ru: Ecco come Risolvere

da / lunedì, 12 marzo 2018 / Pubblicato inLe Guide di IdeaCommerce

Spam Modulo Contatti Prestashop: Come Risolvere

Un Fastidioso Problema di Spam dal Modulo Contatti di Prestashop

Negli ultimi giorni stiamo assistendo a ondate di fastidiosissimo Spam su molti ecommerce realizzati con Prestashop, e non solo su versioni vecchie o nuove, ma in generale su tutte le versioni dalla 1.5 in poi. In tutti i casi, viene utilizzato il form di contatto principale del sito per inviare questo tipo di comunicazioni spam.

Anche l’aggiunta di captcha è sembrata non essere sufficiente in alcuni casi.

Come Risolvere (o almeno Tamponare) il Problema

Per risolvere (o per lo meno tamponare) il problema, noi abbiamo messo a punto il seguente codice. Nulla di sofisticato o di particolarmente ingegnoso. Un semplice codice che parte dal presupposto che gli spammer stanno usando gli stessi pool di indirizzi email e, soprattutto, stanno inserendo nel testo del messaggio, un link che sfrutta un reindirizzamento su yandex, il celebre motore di ricerca russo.

Detto questo, è sufficiente creare un override del ContactController per filtrare la stragrande maggioranza di questi messaggi.

Il Codice PHP

Creiamo quindi un nuovo file nel seguente percorso /override/controllers/front/ e lo chiamiamo ContactController.php e inseriamo al suo interno il seguente codice:

class ContactController extends ContactControllerCore
{
public function postProcess() {
if (Tools::isSubmit('submitMessage') && stripos(trim(Tools::getValue('from')), 'mail.ru') === false && stripos(trim(Tools::getValue('from')), 'list.ru') === false && stripos(trim(Tools::getValue('from')), 'inbox.ru') === false && stripos(trim(Tools::getValue('from')), 'bk.ru') === false && stripos(trim(Tools::getValue('from')), '.ru') === false && stripos(Tools::getValue('message'), 'yandex') === false) {
return parent::postProcess();
} else {
return false;
}
}
}

Fatto questo, è FONDAMENTALE, assicurarsi che non siano disattivati gli override e, poi, bisogna pulire la cache, il tutto sempre dal pannello amministrativo nella sezione Parametri Avanzati > Prestazioni.

Questo codice funziona tranquillamente con tutte le versioni di Prestashop dalla 1.5 in poi.

Per i più pigri, ecco il link per il download diretto del file:

http://cdn.ideacommerce.it/ContactController.zip

 

DISCLAIMER

Sicuramente in giro per la rete ci saranno tante altre soluzioni a questo problema, probabilmente molte saranno più raffinate ed affidabili. Noi abbiamo protetto efficacemente i nostri clienti in questo modo e, quindi, riteniamo che lo scopo sia stato comunque raggiunto.

Taggato con:

Sono laureato in Ingegneria Informatica e nutro una grande passione per il Marketing e l'imprenditoria. Queste passioni mi hanno portato, da qualche anno a questa parte, ad impegnarmi nella realizzazione di siti ecommerce e portali per la lead generation moderni, funzionali e professionali, oltre ad occuparmi di Advertising e posizionamento SEO. Il mio obiettivo è aiutare le aziende a vendere e prosperare attraverso le attività online.

TOP