Przejdź do treści
Darmowy audyt

Sklepy internetowe Problem i rozwiązanie

Fałszywe zamówienia w sklepie WooCommerce - jak zatrzymać boty testujące karty

Autor: Bartosz Gromek Zaktualizowano: 7 min czytania

W skrócie

  • Objaw: w krótkim czasie pojawiają się dziesiątki zamówień nieudanych lub oczekujących na płatność, na małe kwoty, z przypadkowymi danymi, a u operatora płatności rośnie liczba odrzuconych transakcji.
  • Przyczyna: boty używają formularza zamówienia jako testera skradzionych kart, bo zamówienie jako gość nie ma ochrony ani limitów, a w sklepie są tanie produkty, darowizny lub otwarta rejestracja kont.
  • Rozwiązanie: ukryj tanie produkty na czas ataku, włącz ochronę zamówienia (np. Cloudflare Turnstile) i limit żądań, zaostrz reguły u operatora płatności, zgłoś mu atak i zwróć płatności, które przeszły.

Nie masz czasu? Zrobimy to za Ciebie - Sklepy internetowe od 2 000 zł netto

Seria zamówień na małe kwoty, z przypadkowymi danymi i odrzuconymi płatnościami to najczęściej testowanie kart: bot sprawdza w Twoim sklepie, które skradzione karty działają. Zatrzymasz to warstwami: ochroną formularza zamówienia, limitem prób, narzędziami antyfraudowymi operatora płatności i wyłączeniem tego, czego sklep nie potrzebuje, np. otwartej rejestracji kont.

Jak rozpoznać fałszywe zamówienia i testowanie kart?

Po nagłym wzroście liczby zamówień nieudanych lub oczekujących na płatność, złożonych w krótkim czasie, na małe kwoty i z danymi, które nie mają sensu. Pojedyncze nieopłacone zamówienie to zwykle porzucona płatność, a nie atak.

  • dziesiątki zamówień ze statusem Nieudane lub Oczekuje na płatność w ciągu godziny, często w nocy,
  • w notatkach zamówień kolejne odmowy karty, a w panelu operatora seria odrzuconych transakcji,
  • zamówienia na najtańszy produkt, darowiznę albo produkt z ceną wpisywaną przez klienta,
  • przypadkowe imiona i nazwiska, adresy e-mail z losowych znaków, ten sam adres przy różnych nazwiskach,
  • w polu atrybucji zamówienia brak danych o pochodzeniu albo jedna odsłona w sesji, co może oznaczać, że zamówienie złożono skryptem z pominięciem stron sklepu.

Prawdziwy klient po odmowie karty zwykle próbuje innej metody płatności, ponawia zamówienie z tymi samymi danymi albo pisze do sklepu. Bot zachowuje się inaczej: w kolejnych zamówieniach zmienia karty, nazwiska i adresy, a odstępy między próbami liczy się w sekundach.

Jeśli zamówienia czekają na płatność, a klienci twierdzą, że zapłacili, to inny problem. Opisujemy go we wpisie klient zapłacił, a zamówienie oczekuje na płatność.

Dlaczego boty wybierają akurat Twój sklep?

Bo formularz zamówienia z płatnością kartą jest dla nich darmowym testerem: każda próba daje odpowiedź banku, czy karta działa. Im łatwiej złożyć zamówienie bez weryfikacji, tym łatwiejszy cel.

Otwarte zamówienie bez ochrony

Zamówienie jako gość, bez ochrony przed botami i bez limitów, można wysyłać skryptem setki razy. Boty często omijają samą stronę zamówienia i wysyłają żądania bezpośrednio do interfejsu sklepu (Store API), z którego korzysta zamówienie zbudowane z bloków. Ochrona dodana tylko do wyglądu formularza wtedy nie działa.

Tanie produkty i kwota dowolna

Produkty za kilka złotych, darowizny i produkty z ceną wpisywaną przez klienta pozwalają testować karty małymi kwotami, których właściciel karty łatwo nie zauważy na wyciągu.

Zapisywanie kart i otwarta rejestracja

Jeśli każdy może założyć konto i dodać kartę w Moim koncie, bot sprawdza karty bez tworzenia zamówień. W sklepie prawie nic nie widać, a odrzucenia rosną u operatora. Otwarta rejestracja przyciąga też boty, które zakładają konta do spamu, a maile powitalne na przypadkowe adresy psują reputację domeny.

Słabe reguły antyfraudowe u operatora

Operatorzy płatności mają mechanizmy wykrywania ataków, ale ich skuteczność zależy od integracji i ustawień. Stara wtyczka bramki, która nie przekazuje operatorowi danych o kliencie i adresu IP, utrudnia rozpoznanie ataku.

Co zrobić od razu, gdy atak trwa?

Najpierw ogranicz możliwość składania zamówień i powiadom operatora płatności, a porządki w zamówieniach zrób, gdy nowe próby przestaną napływać.

  1. Tymczasowo ukryj najtańsze produkty, darowizny i produkty z dowolną kwotą.
  2. Na czas ataku wyłącz zamówienia jako gość, a jeśli boty dodają karty w Moim koncie, wyłącz zapisywanie kart.
  3. Włącz ochronę formularza zamówienia i limit prób (opis niżej).
  4. Zgłoś atak operatorowi płatności: podaj przedział czasu, przykładowe numery zamówień i transakcji oraz adresy IP z logów serwera, poproś o zaostrzenie reguł i zapytaj o zwrot opłat za fałszywe transakcje.
  5. Płatności, które przeszły, zwróć jak najszybciej, żeby uniknąć sporów i obciążeń zwrotnych, a fałszywe zamówienia anuluj i niczego nie wysyłaj.

Jak zabezpieczyć zamówienie przed botami na stałe?

Najlepiej działa połączenie kilku warstw: weryfikacji niewidocznej dla większości klientów, limitu żądań i reguł operatora. Pojedynczy filtr, np. blokada adresów IP, zwykle nie wystarcza, bo boty zmieniają adresy.

Zabezpieczenie Co daje Na co uważać
Cloudflare Turnstile lub reCAPTCHA w zamówieniu Odsiewa skrypty, a większość klientów nie widzi żadnej zagadki Weryfikacja musi działać po stronie serwera i obejmować zamówienie na blokach
Limit żądań zamówienia (Store API) Ogranicza liczbę prób z jednego adresu w krótkim czasie Za serwerem proxy lub CDN trzeba poprawnie rozpoznawać prawdziwe IP
Narzędzia antyfraudowe operatora Blokują serie odrzuceń i podejrzane karty Wymagają aktualnej wtyczki bramki i przekazywania danych klienta
Wtyczka antyfraudowa do WooCommerce Ocenia ryzyko i wstrzymuje podejrzane zamówienia Źle ustawiona daje mało ochrony albo blokuje prawdziwych klientów
Zamknięta rejestracja kont Mniej fałszywych kont i spamu Konto można zakładać przy zamówieniu, jeśli jest potrzebne

WooCommerce ma wbudowany limit żądań dla zamówienia. W WooCommerce, Ustawienia, Zaawansowane, Funkcje włączysz go dla zamówienia na blokach, a programista może dopasować limity filtrem. To dobre uzupełnienie ochrony formularza, bo działa także wtedy, gdy bot pomija stronę zamówienia.

Nie musisz zmuszać klientów do rozwiązywania obrazkowych zagadek. Turnstile w większości przypadków działa w tle, więc chroni zamówienie bez psucia konwersji. Po wdrożeniu złóż testowe zamówienie na smartfonie i na komputerze, żeby sprawdzić, czy weryfikacja nie blokuje prawdziwych klientów.

Fałszywe konta bez zamówień

Jeśli sklep nie potrzebuje kont zakładanych w Moim koncie, wyłącz tę opcję i zostaw zakładanie konta przy zamówieniu albo zamówienia jako gość chronione weryfikacją. Usuń fałszywe konta i sprawdź, czy żadne z nich nie ma roli wyższej niż Klient.

Porządki w danych po ataku

Fałszywe zamówienia i konta zaśmiecają raporty, bazę klientów i listy mailingowe. Usuń fałszywe adresy z narzędzia do wysyłki maili, żeby nie psuły reputacji domeny, a porównując sprzedaż z poprzednimi okresami, pomijaj dni ataku albo filtruj zamówienia nieudane i anulowane.

Lista kontrolna po ataku

  • nowe próby ustały, a liczba odrzuceń u operatora wróciła do zwykłego poziomu,
  • zamówienie jest chronione weryfikacją i limitem, także na stronie zamówienia z bloków,
  • w sklepie nie ma produktów z dowolną kwotą bez minimum,
  • wtyczka bramki płatności jest zaktualizowana, a operator powiadomiony,
  • fałszywe zamówienia anulowane, opłacone zwrócone, fałszywe konta usunięte,
  • sklep wysyła powiadomienie przy nagłym wzroście liczby nieudanych zamówień.

Zabezpieczenie zamówienia, aktualizację bramek płatności i monitoring wdrażamy w ramach prac przy sklepach WooCommerce. Ten problem jest jednym z naszej listy 100 problemów z WooCommerce.

Darmowy skan sklepu

Sprawdź swój sklep za darmo

Wpisz adres, a przeniesiemy Cię do bezpłatnego skanu na stronie CodeScriptum.

Jak to rozwiązać krok po kroku

Fałszywe zamówienia w sklepie WooCommerce - jak zatrzymać boty testujące karty - https://codescriptum.pl/blog/falszywe-zamowienia-w-sklepie-woocommerce/

  1. Sprawdź listę zamówień ze statusem Nieudane i Oczekuje na płatność oraz panel operatora płatności: ustal, od kiedy trwa atak, jakich produktów dotyczy i ile transakcji przeszło.
  2. Ukryj na czas ataku najtańsze produkty, darowizny i produkty z dowolną kwotą, a jeśli to konieczne, tymczasowo wyłącz zamówienia jako gość i zapisywanie kart.
  3. Dodaj do zamówienia ochronę przed botami z weryfikacją po stronie serwera (np. Cloudflare Turnstile) i sprawdź, że obejmuje ona także zamówienie zbudowane z bloków.
  4. Włącz limit żądań zamówienia w WooCommerce, Ustawienia, Zaawansowane, Funkcje, a przy serwerze proxy lub CDN ustaw poprawne rozpoznawanie adresu IP klienta.
  5. Zaktualizuj wtyczkę bramki płatności, włącz narzędzia antyfraudowe operatora i zgłoś mu atak z przedziałem czasu, numerami transakcji i adresami IP.
  6. Zwróć płatności, które przeszły, anuluj fałszywe zamówienia, usuń fałszywe konta i wyłącz rejestrację w Moim koncie, jeśli sklep jej nie potrzebuje.
  7. Ustaw powiadomienie mailowe przy nagłym wzroście liczby nieudanych zamówień, żeby kolejny atak zauważyć w ciągu godzin, a nie dni.

Jak sprawdzić, że zadziałało

Przez kolejne dni w sklepie nie pojawiają się serie nieudanych zamówień, a u operatora liczba odrzuconych transakcji wraca do zwykłego poziomu. Testowe zamówienie jako nowy klient na smartfonie i na komputerze przechodzi bez zagadek i błędów, a zbyt szybkie, powtarzane próby z jednego adresu są blokowane.

Usługa CodeScriptum

Sklepy internetowe

od 2 000 zł netto

  • WooCommerce, Shopify, PrestaShop, Shoper i sklepy dedykowane
  • Migracja bez utraty pozycji w Google
  • Integracje: płatności, InPost, BaseLinker, KSeF

Najczęściej zadawane pytania

Skąd się biorą fałszywe zamówienia w WooCommerce?

Najczęściej to boty, które sprawdzają skradzione karty małymi płatnościami. Wybierają sklepy, w których zamówienie jako gość nie ma ochrony ani limitów, a w ofercie są tanie produkty lub darowizny.

Czy fałszywe zamówienia mogą zaszkodzić mojemu kontu u operatora płatności?

Tak. Duża liczba odrzuceń i sporów pogarsza ocenę sklepu u banków i operatora, może zwiększyć liczbę odrzuceń także prawdziwych płatności i wiązać się z dodatkowymi opłatami. Dlatego atak warto zgłosić od razu i szybko zwrócić płatności, które przeszły.

Co napisać do operatora płatności po ataku?

Podaj przedział czasu ataku, przykładowe numery zamówień i transakcji, adresy IP z logów serwera oraz informację, jakie zabezpieczenia już wdrożyłeś. Poproś o zaostrzenie reguł antyfraudowych i zapytaj o zwrot opłat za fałszywe transakcje.

Czy wystarczy zablokować adresy IP, z których przychodzą zamówienia?

Zwykle nie, bo boty szybko zmieniają adresy. Blokada IP może pomóc przez chwilę, ale trwałą ochronę daje dopiero połączenie weryfikacji w zamówieniu, limitu żądań i reguł operatora.

Czy muszę na stałe wyłączyć zakupy bez rejestracji?

Nie. Wyłączenie zamówień jako gość pomaga w trakcie ataku, ale na stałe obniża konwersję. Po wdrożeniu ochrony formularza i limitów zakupy bez konta można bezpiecznie włączyć z powrotem.

Pojęcia w tym artykule

Źródła

  1. WooCommerce: jak zapobiegać atakom testowania kart i na nie reagować (otwiera się w nowej karcie) woocommerce.com
  2. WooCommerce Developer: limit żądań Store API dla zamówienia (otwiera się w nowej karcie) developer.woocommerce.com
  3. WooCommerce: atrybucja zamówień (Order Attribution Tracking) (otwiera się w nowej karcie) woocommerce.com
  4. Cloudflare Turnstile (dokumentacja) (otwiera się w nowej karcie) developers.cloudflare.com
  5. Stripe: ochrona przed testowaniem kart (otwiera się w nowej karcie) docs.stripe.com

Podobne problemy

O autorze

Bartosz Gromek

Założyciel CodeScriptum, technologia i rozwój

Założyciel CodeScriptum - firmy technologicznej z Łodzi, działającej od 2022 roku. Odpowiada za technologię i rozwój, a projekty realizuje razem z zespołem specjalistów od stron, sklepów internetowych, systemów CRM, integracji, AI i marketingu. Na blogu opisuje problemy, z którymi zgłaszają się klienci CodeScriptum, i sprawdzone sposoby ich rozwiązania.

Newsletter

Konkretne porady raz na jakiś czas

Nowe problemy i rozwiązania z bloga, zmiany w przepisach dla sklepów i stron oraz sprawdzone sposoby na więcej klientów z internetu. Bez spamu, wypis jednym kliknięciem.