SPAM z formularza kontaktowego PrestaShop 1.6

3 marca 2018 | Po godzinach - Wszystkie wpisy, Poradnik | 6 Komentarze

Spamerzy non stop kombinują jak tu wykorzystać do swoich niecnych celów formularze dostępne na stronach internetowych. Czyli jak zasypać innych wirtualnymi śmieciami.

Tak tak, śmieciami, ponieważ z reguły oferty spamerów tak mi pasują jak te w stylu „kup pan cegłę”. Kto nie wie skąd ten cytat polecam stare polskie kino „Ewa chce spać”. Niesamowite dialogi i warszawski slang.

Jest tam scenka z opryszkiem, który szkolony był jak odpowiednio podejść osobę na ulicy i niekoniecznie chodziło o podejście siłowe, czyli cegła nie stanowiła jedynego atutu. Liczyło się odpowiednie, kulturalne podejście do „klienta”. Opryszek bardzo elokwentnie przedstawił propozycję nie do odrzucenia: „Panie szanowny! Kup pan te cegłę! Odpalasz pan stówkę ocalasz pan główkę!”. Czyli dobijając do brzegu, chodzi mi o to, że oferta spamerów jest mi całkiem zbyteczna, tylko tracę czas na odgruzowanie poczty ze śmieci.

Tym razem spamerzy wykorzystali brak zabezpieczeń w domyślnym formularzu kontaktowym sklepu internetowego opartego o silnik PrestaShop 1.6. Poskutkowało to masowym otrzymywaniem syfu pisanego głównie w cyrylicy.
Rozwiązanie, znalezione na oficjalnym anglojęzycznym forum wsparcia PrestaShop jest proste do zaimplementowania.

1. Wchodzimy do usługi Google reCaptcha. Aby z niej za darmo skorzystać należy posiadać konto w usługach Google.

2. Dodajemy tam naszą domenę i generujemy dwa klucze, czyli ciągi znaków.

3. Do nagłówka strony, czyli do pliku header.tpl w naszym szablonie, dodajemy tuż przed </head> następujący kod:

<script src="https://www.google.com/recaptcha/api.js"></script>

4. W szablonie contact-form.tpl przed </form> wstawiamy:

<div class="g-recaptcha" data-sitekey="[public Google key]"></div>

Uwaga! Należy wpisać klucz publiczny wygenerowany w usłudze reCaptcha w miejscu: [public Google key]

5. Na końcu otwieramy plik:
/controllers/front/ContactController.php

po linii:

$this->errors[] = Tools::displayError('Bad file extension');

wklejamy kod:

else if (!($gcaptcha = (int)(Tools::getValue('g-recaptcha-response'))))
 $this->errors[] = Tools::displayError('Captcha not verified');

Dla pewności jak on powinien wyglądać po wklejeniu podaję większy fragment kodu z pogrubieniem nowego:

else if (!empty($fileAttachment['name']) && !in_array( Tools::strtolower(substr($fileAttachment['name'], -4)), $extension) && !in_array( Tools::strtolower(substr($fileAttachment['name'], -5)), $extension))
 $this->errors[] = Tools::displayError('Bad file extension');
else if (!($gcaptcha = (int)(Tools::getValue('g-recaptcha-response'))))
 $this->errors[] = Tools::displayError('Zaznacz ptaka, że nie jesteś spamerem :-)');
else {

To wszystko, formularz jest zabezpieczony, a ruskije partizanty muszą kombinować gdzie indziej. Mogą na przykład zająć się szkoleniem gołębi na pucybuty.
No co? Jakoś trzeba było wytłumaczyć dołączone zdjęcie 😉

Autor tekstu:

Autor tekstu:

Tomasz Bartosiewicz - Ojciec dyrektor

Ojciec bo pełni funkcję taty dla dwójki cudownych dusz, a dyrektor, bo jest szefem w ITB Vega 😉
Co mnie kręci: świat technologii oraz jak można go użytecznie wykorzystywać, maratony w basenie, wędrówki po starych górach, robienie zdjęć.
Mieszkam i pracuję w Bydgoszczy, ale wykonuję sporo prac zdalnych. Jeśli szukasz kogoś do stworzenia strony internetowej lub do jej aktualizacji, zadzwoń, z przyjemnością porozmawiam o Twoich potrzebach
507 96 11 46

6 komentarzy

  1. Tomasz Bartosiewicz

    Haniu, trudno cokolwiek powiedzieć bez zajrzenia do kodu, ale wygląda na to, że gdzieś zrobiłaś błąd. To rozwiązanie przetestowałem na kilku wersjach Prestashop 1.6.x

  2. Hania

    Witam, fajnie prosto napisane poradziłam sobie spokojnie z tym że gdy wysyłam wiadomość wcale nie trzeba zaznaczyć kwadracika tylko wysyła nawet bez zaznaczenia 🙁

    Jakiś błąd z mojej strony?

  3. Selljus

    Dobry artykuł. Podobno roboty potrafią już ominąć reCaptcha, jednak nie jest to jeszcze tak powszechne i w większości przypadków spełnia oczekiwania.

  4. Tomasz Bartosiewicz

    Kurza burza! A to niespodzianka,
    nie zauważyłem, że WordPress zmienia apostrofy oraz cudzysłowia na inne jakieś znaki.
    Już poprawiłem, przepraszam za niedopatrzenie i dzięki Ewelino za odzew.
    Teraz powinno działać, jeśli kod wkleisz dokładnie tak jak jest podany.
    Dorzuciłem jeszcze większy kawałek kodu do podglądu, jak to dokładnie ma wyglądać.

  5. Ewelina

    Strona /kontakt działa jak usunę kod

    else if (!($gcaptcha = (int)(Tools::getValue(‚g-recaptcha-response’))))
    $this->errors[] = Tools::displayError(‚Captcha not verified’);

  6. Ewelina

    hej, wszystko zrobione tak jak napisane w artykule, a po wejściu na podstronę /kontakt mam komunikat

    Ta strona nie działa
    Serwer xxxx nie może teraz obsłużyć tego żądania.

    Presta 1.6.1.8

    gdzie mogę mieć problem ?
    Pozdrawiam

Wyślij komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Po godzinach

Wyszukiwarka Bing + AI = Coś niespotykanego!

Wyszukiwarka Bing + AI = Coś niespotykanego!

Jest taki tort, który zwie się wyszukiwarki internetowe. Microsoft chciał chapnąć z niego większy kawałek. Zapewne firma widziała okazję na zmniejszenie dominacji Google. Na początku roku, bo to jakoś w lutym było, Microsoft ogłosił uruchomienie ChatGPT w swojej wyszukiwarce Bing. Oczywiście wszystko dostępne tylko we własnej przeglądarce Edge. Upłynęło kilka miesięcy, można ocenić skutki – co wyszło z tego połączenia?

Google potwierdza – Jakość treści ma kluczowe znaczenie w SEO

Google potwierdza – Jakość treści ma kluczowe znaczenie w SEO

Jak wynika z niedawnej dyskusji pomiędzy Johnem Muellerem i Garym Illyesem z zespołu Google Search Relations, jakość to krytyczny czynnik wpływający na niemal każdy aspekt wyszukiwania. Podczas niedawnego podcastu „Search Off the Record” oboje zagłębili się w rolę jakości we wszystkim, od indeksowania po ranking stron internetowych w wynikach szukania.

ChatGPT chory na demencję starczą?

ChatGPT chory na demencję starczą?

Z różnych stron świata użytkownicy ChatGPT donoszą o coraz gorszej jakości generowanych przez sztuczną inteligencję odpowiedzi. Wygląda to dosłownie tak, jakby AI po prostu głupiało. To jakby człowiek w pierwszym stadium otępienia starczego. Każdy, kto ma dość częstą sposobność do korzystania z ChatGPT mógł zauważyć tą słabnącą jakość odpowiedzi.

WordPress & AI

WordPress & AI

Sztuczna inteligencja wchodzi wszędzie gdzie się da. Wręcz pcha się, choć w sumie lepsze określenie to, że jest popychana, bo to ludzie ją wpychają. Powstały już generatory stron oparte o AI, gdzie określasz swój biznes, a automatyczny kreator w bardzo krótkim czasie przygotuje całą stronę. WordPress, jako najpopularniejszy na naszej planecie system CMS także ma dodatki AI.