Dai file di log cercando appunto /fr/contattaci (parte dell'URL della pagina di richiesta supporto controllate la vostra URL) diviene palese che un bot con IP xxx.xxx.x55.29 e xxx.xxx.x55.29 sta inviando continue richieste di contatto. Possiamo controllare pure da dove arriva realmente l'attacco (sono molti i servizi disponibili nel WEB) per esempio: https://www.tcpiputils.com/
Se siete masochisti e non avete PLESK né altro pannello di controllo del vostro servizio potete scaricare il file di log in locale e usare l’utility glogg per effettuare le ricerche all’interno nello stesso file. Ammetto di aver imparato proprio lottando con risorse insufficienti e in periodi dove ogni singolo MB costava quanto un mese di stipendio, ma se il vostro scopo è fare business in rete con il vostro ecommerce non mi stuferò mai di dirlo: non lesinate, perché ve ne pentirete.
Non rimane che bloccare i due IP per farlo abbiamo varie opzioni usare uno dei tanti moduli disponibili per PrestaShop come "Block Bots / Users based on IP, Country or User-Agent" oppure modificare il file .htaccess operazione questa più complessa, vediamone un esempio:
INSERIAMO DOPO LA RIGA:
# ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
LE SEGUENTI DIRETTIVE:
SetEnvIf Remote_Addr XXX.XXX.X55.31 bad_user
SetEnvIf Remote_Addr XXX.XXX.X55.29 bad_user
Deny from env=bad_user
ErrorDocument 403 /error403.html
Ovvero l'IP che vogliamo escludere, in questo modo riceverà la pagina di errore 403: accesso negato. Possiamo anche decidere di rendirizzare il traffico altrove. Nel caso Nell'esempio (che comunque è un caso reale) lo SPAM proveniva dal Sud Africa. In alternativa potremo anche scegliere, se non commercializziamo in quello stato e non abbiamo intenzione di farlo in futuro, di bloccare tutto il traffico proveniente da quel paese.
Per esludere un paese dobbiamo usare la sigla internazionale che identifica lo stesso nel caso del Sud Africa è ZA quindi:
SetEnvIf GEOIP_COUNTRY_CODE ZA bad_user
Deny from env=bad_user
ErrorDocument 403 /error403.html
Note: il ban per coutry richiede che sul vostro hosting sia attivo il mod_geoip.
Per mettere tutto al sicuro: una volta bannati gli IP responsabili dello SPAM automaticamente non ne riceverete più. Però è sempre meglio prevenire che curare poichè se il bot cambiasse IP automaticamente il problema si ripresenterebbe, quindi è consigliabile inserire direttamente un reCAPTCHA nel form di contatto di PrestaShop. Anche per questo esiste un ottimo modulo Add Google reCAPTCHA to store forms sviluppato da InnovaDeluxe. È importante aggiornare al versione di PrestaShop, su alcune versioni datate anche l'aggiunta di un filtro reCAPTCHA non risolverà il problema.
Se vi chiedete perché non limitarsi al semplice inserimento del reCAPCHA il motivo è molto semplice. Questi Bot non controllano l'esito dell'invio, quindi il programmino automatico continuerebbe a tentare di inviare lo SPAM consumando risorse perché ad ogni invio il nostro SERVER elaborerà la richiesta. Bannando IP consumeremo dunque meno risorse, lasciandole disponibili per quel traffico di qualità che ci porta conversioni.
NOTE: molto più grave e fastidioso è quando ad essere preso di mira è il modulo "INVIA A UN AMICO" che consiglio di disinstallare completamente, non basta disattivarlo. Una bot che sfrutti questo modulo può portarvi alla sospensione temporanea dell'account di posta che avete configurato in prestashop fino a un ban del IP del vostro server. Quindi se ricevete molti delivery failed nella vostra casella postale che usate per il vostro ecommerce corrette subito ai ripari.