PrestaShop

SPAM poprzez formularz kontaktowy PrestaShop 1.6 zabezpiecz sklep

SPAM w PrestaShop

Ataki hakerów na sklepy internetowe to w dzisiejszych czasach już standard. Hakerzy wymyślają coraz to bardziej wymyślne sposoby osiągnięcia swoich celów.
Coraz częściej również atakowany spamem jest formularz kontaktowy w PrestaShop 1.6. Można się jednak przed tym zabezpieczyć poprzez dodani prostego reCaptcha
od samego google. Implementacja reCaptcha jest bardzo prosta i potrzebny jest nam w zasadzie dostęp do FTP oraz wygenerowanie reCaptcha.

Generowanie reCaptcha

Przejdź do strony:
https://www.google.com/recaptcha/intro/index.html

Kliknij w prawym górnym rogu: Get reCaptcha
Następnie:
1. Uzupełniamy dowolną nazwą która najlepiej taką dzięki której będziemy wiedzieć do jakiej strony użyliśmy tego klucza.
2. Wybieramy reCaptcha V2
3. Podajemy nazwę domeny.
4. Akceptujemy regulamin.
5. Gnerujemy reCaptach dla naszego sklepu.

Generowanie reCaptcha

6. Pojawi się strona z naszym kluczem. Nie zamykaj jej zaraz ona się nam przyda.

PrestaShop reCaptcha

Zaloguj się do swojego serwera poprzez FTP

Odszukaj pliku contact-form.tpl powinien on być w Twoim szablonie np:
public_html -> themes -> default-bootstrap -> contact-form.tpl

Znajdź:

<div class="submit"><button id="submitMessage" class="button" name="submitMessage" type="submit">
{l s='Send'}<i class="icon-chevron-right right"></i></button></div>
Wklej powyżej
<div class="submit">

następujące linie:

<script src='https://www.google.com/recaptcha/api.js'></script>
<div class="g-recaptcha" data-sitekey="TWÓJ KEY"></div>

Na moim przykładzie powinno to wyglądać tak:

<script src='https://www.google.com/recaptcha/api.js'></script>
<div class="g-recaptcha" data-sitekey="6LcTJ0cUAAAAAJQ_oNG52mpYX69Un6YVjikktAau"></div>
<div class="submit"><button id="submitMessage" class="button" name="submitMessage" type="submit">
{l s='Send'}<i class="icon-chevron-right right"></i></button></div>

Zmień ContactControler.php

Plik odnajdziesz w lokalizacji controllers/front lub w lokalizacji override/controllers/front

if (Tools::isSubmit('submitMessage')) {
 $extension = array('.txt', '.rtf', '.doc', '.docx', '.pdf', '.zip', '.png', '.jpeg', '.gif', '.jpg');
 $file_attachment = Tools::fileAttachment('fileUpload');
 $message = Tools::getValue('message'); // Html entities is not usefull, iscleanHtml check there is no bad html tags.
 $id_order = (int)$this-&gt;getOrder();
 if (!($from = trim(Tools::getValue('from'))) || !Validate::isEmail($from)) {
 $this-&gt;errors[] = Tools::displayError('Invalid email address.');
// Dodaj te dwie linie do kodu //
} elseif (!($gcaptcha = (int)(Tools::getValue('g-recaptcha-response')))) {
 $this->errors[] = Tools::displayError('Captcha error');
// koniec kodu //
SHARE
Powiązane posty
SSL
Nie można włączyć SSL w PrestaShop
Baza Danych PrestaShop 1.7
PrestaShop 1.7 gdzie jest baza danych?
PrestaShop błąd 500
Błąd 500 PrestaShop – Zaplecze strony

Zostaw komentarz

*