Sklepy internetowe Problem i rozwiązanie
Fałszywe zamówienia w sklepie WooCommerce - jak zatrzymać boty testujące karty
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ć.
- Tymczasowo ukryj najtańsze produkty, darowizny i produkty z dowolną kwotą.
- Na czas ataku wyłącz zamówienia jako gość, a jeśli boty dodają karty w Moim koncie, wyłącz zapisywanie kart.
- Włącz ochronę formularza zamówienia i limit prób (opis niżej).
- 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.
- 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/
- 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.
- 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.
- 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.
- Włącz limit żądań zamówienia w WooCommerce, Ustawienia, Zaawansowane, Funkcje, a przy serwerze proxy lub CDN ustaw poprawne rozpoznawanie adresu IP klienta.
- 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.
- 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.
- 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
- WooCommerce: jak zapobiegać atakom testowania kart i na nie reagować (otwiera się w nowej karcie) woocommerce.com
- WooCommerce Developer: limit żądań Store API dla zamówienia (otwiera się w nowej karcie) developer.woocommerce.com
- WooCommerce: atrybucja zamówień (Order Attribution Tracking) (otwiera się w nowej karcie) woocommerce.com
- Cloudflare Turnstile (dokumentacja) (otwiera się w nowej karcie) developers.cloudflare.com
- Stripe: ochrona przed testowaniem kart (otwiera się w nowej karcie) docs.stripe.com
Podobne problemy
Sklepy internetowe
Klient zapłacił, a zamówienie WooCommerce dalej „Oczekuje na płatność”
Rozwiązanie Popraw adres powiadomień w panelu operatora, odblokuj go w zaporze i cache, zaktualizuj wtyczkę bramki i sprawdź logi.
Sklepy internetowe
Sklep WooCommerce na słabym hostingu: kiedy hosting jest problemem, jak to sprawdzić i ile kosztuje dobry
Rozwiązanie Zmierz czas odpowiedzi serwera dla stron bez cache, porównaj parametry z wymaganiami WooCommerce, a jeśli hosting ich nie spełnia, przenieś sklep na pakiet z…
Sklepy internetowe
Koszyk WooCommerce nie aktualizuje się po dodaniu produktu - przyczyny i rozwiązanie
Rozwiązanie Wyklucz koszyk, zamówienie, konto i ciasteczka WooCommerce z cache, ustaw jeden adres sklepu i sprawdź skrypty w konsoli przeglądarki.
Sklepy internetowe
Sklep WooCommerce wolno działa na telefonie - przyczyny i jak go przyspieszyć
Rozwiązanie Mocniejszy serwer z cache, lżejsze zdjęcia, mniej skryptów i poprawnie ustawiony cache, zaczynając od największego elementu strony (LCP).