Zawartość artykułu
Opis problemu.
Na sklepy zainstalowane na skrypcie PrestaShop 1.6 obserwujemy ostatnimi czasy liczne ataki poprzez formularz kontaktowy. Są one niegroźne. Ograniczają się jedynie do wysyłania wiadomości SPAM i ewentualnego obciążenia serwera poczty / przeładowania skrzynki e-mail na serwerze.
Przykład takiej wiadomości:
Rozwiązanie – moduł reCaptcha
Rozwiązanie jest bardzo proste i nie wymaga zmiany kodu w sklepie. W tym celu posłużymy się darmowym modułem eicaptcha autorstwa Hervé’go Hennesa.
PrestaShop 1.6
Moduł pobieramy z GitHub:
https://github.com/nenes25/eicaptcha
Możesz też pobrać gotową paczkę stąd:
eicaptcha.zip (wersja 0.4.17 – zadziała w PS 1.6.18-1.6.20 i prawdopodobnie niższych)
[suma MD5: dd1b356ac5dc038ea571e0c6bb9d95dd]
PrestaShop 1.7
Moduł pobieramy z GitHub:
https://github.com/nenes25/eicaptcha/tree/17
Możesz też pobrać gotową paczkę stąd:
eicaptcha_2.1.1.zip
[suma MD5: d23d8ddf5229b872b5b2cb3fccb33d00]
eicaptcha_2.0.1.zip
[suma MD5: 2e7bf73bd5aa097ecd5eca69a17c7174]
Instalacja
Następnie instalujemy go poprzez sekcję moduły w sklepie. Pojawia się konfiguracja modułu:
Pozyskanie klucza prywatnego i publicznego z Google Api
Zgodnie z tym, co napisano w module – musimy wejść pod adres:
https://www.google.com/recaptcha/intro/v3.html
(Będąc zalogowanym do konta Google)
Wcisnąć przycisk „Admin console” i za pomocą plusika – dodać nową domenę.
Oczywiście interface konsoli reCaptcha może być inny w przyszłości. Omawiamy go na czas pisania tego artykułu.
Wypełniamy ją podając domenę sklepu:
Finalnie – klucze potrzebne do użycia w module będą na następnej stronie:
W konfiguracji modułu musimy zaznaczyć pole: „Captcha na stronie kontaktu” –> Włączony. Jednak nie zaszkodzi też dodać reCaptcha na stronie rejestracji klienta: „Captcha podczas tworzenia nowego konta użytkownika ” –> Włączony
Efekt finalny
Widok formularza po zainstalowaniu dodatku:
I na gotowej stronie: https://scripts4bits.com/kontakt
Możliwe błędy
Moduł na zakładce „Advanded parameters” posiada wbudowany mechanizm debugowania. Możemy za jego pośrednictwem sprawdzić poprawność instalacji dodatku. Poniżej kilka błędów, które mogą wystąpić.
Wyłączone nadpisywania
Upewnij się, że są one włączone w dziale „Wydajność„ („Wyłącz wszystkie nadpisywania” -> wyłączone). Dodatkowo po włączeniu tej opcji – usuń plik:
cache/class_index.php
Ewentualnie przebuduj cache w dziale wydajność + zresetuj moduł eicaptcha na liście modułów i wpisz wszystkie dane konfiguracyjne w nim od nowa.
Zła implementacja skryptów JavaScript
Jeśli w dziale „Wydajność” jest włączona opcja: Przenieś JavaScript na koniec – moduł moze nie zadziałać. Spróbuj ją wyłączyć i upewnij się, że nie powoduje to innych błędów na twoim sklepie.
Wklejone białe znaki w polach z kluczami.
Sprawa dość prozaiczna, ale sprawdź czy za dużo znaków nie skopiowałeś/aś do tych pól 🙂
grafika: wallpaperaccess.com
Szkoda że moduł nie zabezpiecza formularza newsletter przez który dostajemy olbrzymie ilości Spam – przy opcji wysyłania maila z potwierdzeniem rejestracji do newsletter możemy wpaść do google spam jako sklep lub serwer. Po za tym w bazie danych trzeba usunać rekordy z mailami niepotwierdzonymi do newsletter. Sam tego doświadczyłem i niestety moduł out. Trzeba było wybrać płatny
[…] sposób na roboty rozsyłające SPAM przez formularz kontaktowy – darmowy moduł reCaptcha dla… […]
[…] sposób na roboty rozsyłające SPAM przez formularz kontaktowy – darmowy moduł reCaptcha dla… […]
[…] Mozna temu zarazić poprzez wysyłkę za pomocą SMTP (przytoczony wyzej artykuł) albo zabezpieczyć formularz przez rozwiązania typu captcha. […]