{"id":2633,"date":"2026-07-08T09:49:48","date_gmt":"2026-07-08T07:49:48","guid":{"rendered":"https:\/\/www.statnet.pl\/blog\/?p=2633"},"modified":"2026-07-08T09:53:45","modified_gmt":"2026-07-08T07:53:45","slug":"scraping-katalogow-sklepow-prestashop","status":"publish","type":"post","link":"https:\/\/www.statnet.pl\/blog\/e-commerce\/prestashop\/scraping-katalogow-sklepow-prestashop\/","title":{"rendered":"Scraping katalog\u00f3w sklep\u00f3w PrestaShop &#8211; cichy atak, kt\u00f3ry potrafi przeci\u0105\u017cy\u0107 serwer"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Wi\u0119kszo\u015b\u0107 w\u0142a\u015bcicieli sklep\u00f3w internetowych s\u0142ysza\u0142a o atakach DDoS. Ma\u0142o kto jednak zdaje sobie spraw\u0119, \u017ce ich sklep mo\u017ce by\u0107 atakowany w spos\u00f3b znacznie subtelniejszy &#8211; przez zautomatyzowane pobieranie danych z katalogu produkt\u00f3w &#8211; scraping. Ataki tego typu s\u0105 trudne do wykrycia. Potrafi\u0105 przeci\u0105\u017cy\u0107 serwer tak samo skutecznie jak klasyczny DDoS, a ich skala w ostatnich miesi\u0105cach wyra\u017anie ro\u015bnie. Obs\u0142ugujemy wiele sklep\u00f3w opartych na PrestaShop, a kilka z nich pad\u0142o ofiar\u0105 tego zjawiska i chcemy podzieli\u0107 si\u0119 tym, czego si\u0119 nauczyli\u015bmy.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Jak to wygl\u0105da w praktyce?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Typowy atak scrappingowy na sklep PrestaShop z nawigacj\u0105 fasetow\u0105 (czyli filtrami marek, kategorii, wieku produktu itp.) wygl\u0105da nast\u0119puj\u0105co. W logach serwera pojawiaj\u0105 si\u0119 dziesi\u0105tki, a potem setki \u017c\u0105da\u0144 na minut\u0119 trafiaj\u0105cych w endpointy kategorii &#8211; np.&nbsp;<code>\/kategorie?q=Marka-BrandA-BrandB-BrandC-BrandD-BrandE-BrandF-BrandG-BrandH<\/code>&nbsp;&#8211; z jedn\u0105 charakterystyczn\u0105 cech\u0105: ka\u017cde \u017c\u0105danie pochodzi z&nbsp;<strong>innego adresu IP<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Na pierwszy rzut oka wygl\u0105da to jak normalny ruch. User-agenty to standardowe przegl\u0105darki Chrome na Windows. Brak podejrzanych bot\u00f3w w nazwie. \u017badnych oczywistych wzorc\u00f3w. Dopiero dok\u0142adna analiza ujawnia problem:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ka\u017cde \u017c\u0105danie zawiera kombinacj\u0119 kilkunastu marek w parametrze filtra<\/li>\n\n\n\n<li>Kombinacje s\u0105 systematycznie r\u00f3\u017cne &#8211; bot przechodzi przez wszystkie mo\u017cliwe zestawienia<\/li>\n\n\n\n<li>Adresy IP rotuj\u0105 przez tysi\u0105ce lokalizacji na ca\u0142ym \u015bwiecie<\/li>\n\n\n\n<li>Ruch jest r\u00f3wnomierny i ci\u0105g\u0142y, bez przerw charakterystycznych dla cz\u0142owieka<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">W jednym z przypadk\u00f3w kt\u00f3re analizowali\u015bmy, w ci\u0105gu jednej sekundy do serwera trafia\u0142o ponad 10 \u017c\u0105da\u0144 z 10 r\u00f3\u017cnych adres\u00f3w IP. Ka\u017cde z ci\u0119\u017ckim zapytaniem filtruj\u0105cym po kilkunastu markach jednocze\u015bnie.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dlaczego to boli bardziej ni\u017c wygl\u0105da?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nawigacja fasetowa w PrestaShop generuje ogromn\u0105 liczb\u0119 kombinacji URL. Je\u015bli sklep ma 50 marek i filtry wed\u0142ug wieku, kategorii i kolejno\u015bci sortowania &#8211; liczba mo\u017cliwych kombinacji idzie w dziesi\u0105tki tysi\u0119cy. Ka\u017cde takie zapytanie to osobne \u017c\u0105danie do bazy danych z wieloma JOIN-ami i warunkami WHERE.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Przy normalnym ruchu baza danych obs\u0142uguje te zapytania bez problemu. Ale gdy 200 bot\u00f3w odpytuje serwer jednocze\u015bnie, ka\u017cdy z innym zestawem 10+ marek, efekt jest taki sam jak klasyczny atak DoS.  Przez wyczerpanie zasob\u00f3w &#8211; serwer zaczyna zwraca\u0107 b\u0142\u0119dy HTTP 500, strona przestaje dzia\u0142a\u0107 dla prawdziwych u\u017cytkownik\u00f3w.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Co istotne &#8211; nie trzeba do tego tysi\u0119cy maszyn botnet. Wystarczy kilkaset \u017c\u0105da\u0144 na minut\u0119, je\u015bli ka\u017cde z nich jest wystarczaj\u0105co kosztowne obliczeniowo dla bazy danych.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kto za tym stoi i po co?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">W zdecydowanej wi\u0119kszo\u015bci przypadk\u00f3w motywem jest&nbsp;<strong>zbieranie danych handlowych<\/strong>. Konkretnie:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Monitoring cen i asortymentu<\/strong>&nbsp;to najpowszechniejszy cel. Konkurencja, agregatory cenowe, dystrybutorzy sprawdzaj\u0105cy polityk\u0119 cenow\u0105 &#8211; wszyscy chc\u0105 wiedzie\u0107 co oferujesz i za ile. Zamiast r\u0119cznie przegl\u0105da\u0107 sklep, wynajmuj\u0105 gotowe narz\u0119dzie scrapingowe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Budowanie w\u0142asnych baz produkt\u00f3w<\/strong>&nbsp;&#8211; kopie opis\u00f3w, zdj\u0119\u0107, kategoryzacji. Niszowe sklepy z unikalnym katalogiem s\u0105 szczeg\u00f3lnie atrakcyjnym celem, bo zebranie takiej bazy r\u0119cznie by\u0142oby bardzo pracoch\u0142onne.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Analiza rynku<\/strong>&nbsp;&#8211; kto wprowadza jakie nowe marki, jak zmienia si\u0119 dost\u0119pno\u015b\u0107 produkt\u00f3w, kt\u00f3re kategorie si\u0119 rozwijaj\u0105.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Narz\u0119dzia do tego celu s\u0105 dost\u0119pne komercyjnie &#8211; sieci residential proxy, czyli adres\u00f3w IP z prawdziwych urz\u0105dze\u0144 domowych, mo\u017cna wynaj\u0105\u0107 za kilkadziesi\u0105t dolar\u00f3w miesi\u0119cznie. Z perspektywy serwera ka\u017cde \u017c\u0105danie wygl\u0105da jak ruch od zwyk\u0142ego u\u017cytkownika w Polsce, Niemczech czy Brazylii.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dlaczego blokowanie IP nie dzia\u0142a?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To podstawowy problem z tego typu atakami. Tradycyjne podej\u015bcie &#8211; zablokuj adres IP kt\u00f3ry zachowuje si\u0119 podejrzanie &#8211; tutaj si\u0119 nie sprawdza. Ka\u017cdy bot u\u017cywa danego IP tylko raz lub kilka razy, po czym rotuje na kolejny.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Blokowanie ca\u0142ych zakres\u00f3w geograficznych jest mo\u017cliwe, ale ryzykowne. Przy sklepach dzia\u0142aj\u0105cych na rynku europejskim znaczna cz\u0119\u015b\u0107 adres\u00f3w pochodzi z Europy Zachodniej, wi\u0119c agresywny geo-blocking uderza te\u017c w prawdziwych klient\u00f3w.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Co faktycznie dzia\u0142a?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Po przeanalizowaniu kilku takich atak\u00f3w i przetestowaniu r\u00f3\u017cnych rozwi\u0105za\u0144, wypracowali\u015bmy skuteczne podej\u015bcie wielowarstwowe.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Warstwa pierwsza: cache<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Najszybszy efekt w sytuacji kryzysowej daje w\u0142\u0105czenie cache na poziomie serwera lub aplikacji. Je\u015bli wyniki zapyta\u0144 filtruj\u0105cych s\u0105 cachowane cho\u0107by przez 5 minut, bot dostaje odpowied\u017a wygenerowan\u0105 raz &#8211; baza danych nie jest wielokrotnie obci\u0105\u017cana. <a href=\"https:\/\/docs.prestashop-project.org\/1.7-documentation\/user-guide\/configuring-shop\/advanced-parameters\/performance\">W PrestaShop nale\u017cy upewni\u0107 si\u0119, \u017ce cache Smarty i cache stron s\u0105 aktywne. <\/a>Przed Apache warto rozwa\u017cy\u0107 Varnish.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Warstwa druga: blokowanie po wzorcu zapytania<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Kluczowa obserwacja: prawdziwy u\u017cytkownik wybieraj\u0105cy filtry w sklepie rzadko kiedy zaznacza wi\u0119cej ni\u017c 2-4 marki naraz. Bot systematycznie odpytuje kombinacje 8-15 marek w jednym URL.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Na poziomie konfiguracji serwera Apache mo\u017cna doda\u0107 regu\u0142y RewriteEngine blokuj\u0105ce zapytania zawieraj\u0105ce wi\u0119cej ni\u017c okre\u015blon\u0105 liczb\u0119 segment\u00f3w po parametrze filtra marek. Regu\u0142a zliczaj\u0105ca my\u015blniki oddzielaj\u0105ce nazwy marek w query stringu jest wystarczaj\u0105co precyzyjna, \u017ceby nie dotkn\u0105\u0107 prawdziwych u\u017cytkownik\u00f3w, a skutecznie blokowa\u0107 automatyczne kombinatoryczne odpytywanie.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wa\u017cne: regu\u0142y nale\u017cy umieszcza\u0107 na poziomie vhosta lub w konfiguracji serwera. Dzia\u0142aj\u0105 wtedy przed uruchomieniem PHP, co oznacza zero obci\u0105\u017cenia bazy danych dla zablokowanych \u017c\u0105da\u0144.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Warstwa trzecia: dodatkowe sygna\u0142y bot\u00f3w<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Przy bardziej zaawansowanych atakach warto szuka\u0107 dodatkowych cech charakterystycznych dla konkretnego scrapera. W jednym z analizowanych przypadk\u00f3w ka\u017cde \u017c\u0105danie bota zawiera\u0142o parametr zmiany waluty (<code>SubmitCurrency<\/code>) z rotuj\u0105cymi warto\u015bciami. Prawdziwi u\u017cytkownicy prawie nigdy nie zmieniaj\u0105 waluty przez URL przy ka\u017cdym klikni\u0119ciu w filtr. Taki specyficzny wzorzec mo\u017cna zablokowa\u0107 jedn\u0105 prost\u0105 regu\u0142\u0105, nie dotykaj\u0105c normalnego ruchu.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Warstwa czwarta: Fail2ban<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Nawet przy rotacji IP, ka\u017cdy adres zwykle wykonuje kilka \u017c\u0105da\u0144 zanim zostanie zmieniony. <a href=\"https:\/\/linuksowo.pl\/jak-zainstalowac-i-skonfigurowac-fail2ban-do-ochrony-serwera-linux-przed-atakami\/\">Fail2ban<\/a> skonfigurowany do wykrywania wzorca scrapingowego w logach i banowania IP po 3-5 takich \u017c\u0105daniach skutecznie spowalnia atak &#8211; boty musz\u0105 szybciej rotowa\u0107 adresy, co zwi\u0119ksza ich koszty operacyjne.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Warstwa pi\u0105ta: Cloudflare lub inny WAF<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cloudflare w planie Pro oferuje rate limiting i <a href=\"https:\/\/developers.cloudflare.com\/reference-architecture\/diagrams\/bots\/bot-management\/\">bot management<\/a>, kt\u00f3re s\u0105 skuteczne przeciwko rozproszonym atakom. Jednak &#8211; co warto podkre\u015bli\u0107 &#8211; regu\u0142y Cloudflare dzia\u0142aj\u0105&nbsp;po&nbsp;dotarciu \u017c\u0105dania do edge node, czyli zanim trafi\u0105 na serwer, ale wymagaj\u0105 poprawnej konfiguracji. Rate limiting na endpoincie katalogu z progiem np. 10 \u017c\u0105da\u0144 na minut\u0119 z jednego IP eliminuje wi\u0119kszo\u015b\u0107 bot\u00f3w bez wp\u0142ywu na prawdziwych u\u017cytkownik\u00f3w.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Jednak przy atakach z tysi\u0119cy r\u00f3\u017cnych IP rate limiting per-IP ma ograniczon\u0105 skuteczno\u015b\u0107. Lepiej wtedy polega\u0107 na regu\u0142ach wzorcowych opisanych wy\u017cej.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sygna\u0142y ostrzegawcze w logach<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Jak rozpozna\u0107 \u017ce tw\u00f3j sklep jest w\u0142a\u015bnie scrapowany? Na to warto zwr\u00f3ci\u0107 uwag\u0119:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Wzrost ruchu bez wzrostu konwersji<\/strong>&nbsp;&#8211; je\u015bli ruch w GA ro\u015bnie, ale sprzeda\u017c pozostaje taka sama, mo\u017ce to oznacza\u0107 ruch bot\u00f3w (cho\u0107 boty cz\u0119sto w og\u00f3le nie uruchamiaj\u0105 JavaScript i nie s\u0105 widoczne w GA).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>B\u0142\u0119dy HTTP 500 w logach serwera<\/strong>&nbsp;&#8211; szczeg\u00f3lnie je\u015bli pojawiaj\u0105 si\u0119 nagle i masowo, to sygna\u0142 \u017ce baza danych nie jest przeci\u0105\u017cona.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Wiele r\u00f3\u017cnych IP odpytuj\u0105cych te same kombinacje URL<\/strong> &#8211; widoczne dopiero po analizie log\u00f3w serwera, nie w Google Analytics.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Du\u017ce zapytania z parametrami filtr\u00f3w w logach<\/strong>&nbsp;&#8211; szczeg\u00f3lnie d\u0142ugie URL z wieloma nazwami marek.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sta\u0142e warto\u015bci rozmiaru odpowiedzi przy b\u0142\u0119dach 500<\/strong>&nbsp;&#8211; je\u015bli wszystkie b\u0142\u0119dy 500 maj\u0105 dok\u0142adnie ten sam rozmiar (np. 629 bajt\u00f3w), to b\u0142\u0105d generyczny zwracany przez przeci\u0105\u017con\u0105 aplikacj\u0119.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wnioski<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Scraping katalog\u00f3w sklep\u00f3w nie jest nowym zjawiskiem, ale jego skala i zaawansowanie wyra\u017anie rosn\u0105. Dost\u0119pno\u015b\u0107 tanich sieci residential proxy sprawia, \u017ce tego rodzaju dzia\u0142ania s\u0105 w zasi\u0119gu ka\u017cdego konkurenta z bud\u017cetem kilkudziesi\u0119ciu dolar\u00f3w miesi\u0119cznie.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Skuteczna ochrona nie polega na jednym rozwi\u0105zaniu, lecz na kilku warstwach dzia\u0142aj\u0105cych jednocze\u015bnie. Cache chroni serwer przed przeci\u0105\u017ceniem nawet gdy bot przejdzie, regu\u0142y wzorcowe blokuj\u0105 charakterystyczne kombinatoryczne zapytania. Natomiast monitoring log\u00f3w pozwala wykrywa\u0107 nowe wzorce i reagowa\u0107 zanim sytuacja stanie si\u0119 kryzysowa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Je\u015bli zarz\u0105dzasz sklepem PrestaShop i chcesz sprawdzi\u0107 czy jeste\u015b celem tego rodzaju atak\u00f3w &#8211; zacznij od analizy log\u00f3w serwera. To co zobaczysz mo\u017ce Ci\u0119 zaskoczy\u0107.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/www.statnet.pl\"><img loading=\"lazy\" decoding=\"async\" width=\"940\" height=\"200\" src=\"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2024\/06\/bezpieczny-hosting.png\" alt=\"\" class=\"wp-image-1683\" srcset=\"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2024\/06\/bezpieczny-hosting.png 940w, https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2024\/06\/bezpieczny-hosting-300x64.png 300w, https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2024\/06\/bezpieczny-hosting-768x163.png 768w\" sizes=\"auto, (max-width: 940px) 100vw, 940px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Masz pytania dotycz\u0105ce bezpiecze\u0144stwa swojego sklepu lub serwera? Skontaktuj si\u0119 z nami &#8211; ch\u0119tnie przeanalizujemy sytuacj\u0119 i doradzimy odpowiednie rozwi\u0105zania.<\/em> <em>Jeste\u015bmy na <strong>TAK<\/strong>, \u017ceby Ci pom\u00f3c.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wi\u0119kszo\u015b\u0107 w\u0142a\u015bcicieli sklep\u00f3w internetowych s\u0142ysza\u0142a o atakach DDoS. Ma\u0142o kto jednak zdaje sobie spraw\u0119, \u017ce ich sklep mo\u017ce by\u0107 atakowany w spos\u00f3b znacznie subtelniejszy &#8211; przez zautomatyzowane pobieranie danych z katalogu produkt\u00f3w &#8211; scraping. Ataki tego typu s\u0105 trudne do wykrycia. Potrafi\u0105 przeci\u0105\u017cy\u0107 serwer tak samo skutecznie jak klasyczny DDoS, a ich skala w ostatnich [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":2635,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[72],"tags":[],"class_list":["post-2633","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-prestashop"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Scraping katalog\u00f3w Prestashop<\/title>\n<meta name=\"description\" content=\"Sklep PrestaShop mo\u017ce by\u0107 atakowany w subtelny, niezauwa\u017calny spos\u00f3b, przez zautomatyzowane pobieranie danych z katalogu produkt\u00f3w \u2013 scraping\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.statnet.pl\/blog\/e-commerce\/prestashop\/scraping-katalogow-sklepow-prestashop\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Scraping katalog\u00f3w Prestashop\" \/>\n<meta property=\"og:description\" content=\"Sklep PrestaShop mo\u017ce by\u0107 atakowany w subtelny, niezauwa\u017calny spos\u00f3b, przez zautomatyzowane pobieranie danych z katalogu produkt\u00f3w \u2013 scraping\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.statnet.pl\/blog\/e-commerce\/prestashop\/scraping-katalogow-sklepow-prestashop\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/statnetpl\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-08T07:49:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-08T07:53:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2026\/07\/scraping.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"MT\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"MT\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/e-commerce\\\/prestashop\\\/scraping-katalogow-sklepow-prestashop\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/e-commerce\\\/prestashop\\\/scraping-katalogow-sklepow-prestashop\\\/\"},\"author\":{\"name\":\"MT\",\"@id\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/#\\\/schema\\\/person\\\/e80a79ff68b516e6a279ea442ab3086c\"},\"headline\":\"Scraping katalog\u00f3w sklep\u00f3w PrestaShop &#8211; cichy atak, kt\u00f3ry potrafi przeci\u0105\u017cy\u0107 serwer\",\"datePublished\":\"2026-07-08T07:49:48+00:00\",\"dateModified\":\"2026-07-08T07:53:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/e-commerce\\\/prestashop\\\/scraping-katalogow-sklepow-prestashop\\\/\"},\"wordCount\":1439,\"publisher\":{\"@id\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/e-commerce\\\/prestashop\\\/scraping-katalogow-sklepow-prestashop\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/scraping.png\",\"articleSection\":[\"PrestaShop\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/e-commerce\\\/prestashop\\\/scraping-katalogow-sklepow-prestashop\\\/\",\"url\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/e-commerce\\\/prestashop\\\/scraping-katalogow-sklepow-prestashop\\\/\",\"name\":\"Scraping katalog\u00f3w Prestashop\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/e-commerce\\\/prestashop\\\/scraping-katalogow-sklepow-prestashop\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/e-commerce\\\/prestashop\\\/scraping-katalogow-sklepow-prestashop\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/scraping.png\",\"datePublished\":\"2026-07-08T07:49:48+00:00\",\"dateModified\":\"2026-07-08T07:53:45+00:00\",\"description\":\"Sklep PrestaShop mo\u017ce by\u0107 atakowany w subtelny, niezauwa\u017calny spos\u00f3b, przez zautomatyzowane pobieranie danych z katalogu produkt\u00f3w \u2013 scraping\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/e-commerce\\\/prestashop\\\/scraping-katalogow-sklepow-prestashop\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/e-commerce\\\/prestashop\\\/scraping-katalogow-sklepow-prestashop\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/e-commerce\\\/prestashop\\\/scraping-katalogow-sklepow-prestashop\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/scraping.png\",\"contentUrl\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/scraping.png\",\"width\":1200,\"height\":628,\"caption\":\"Scraping\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/e-commerce\\\/prestashop\\\/scraping-katalogow-sklepow-prestashop\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Scraping katalog\u00f3w sklep\u00f3w PrestaShop &#8211; cichy atak, kt\u00f3ry potrafi przeci\u0105\u017cy\u0107 serwer\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/\",\"name\":\"Blog\",\"description\":\"Artyku\u0142y na blogu to \u017ar\u00f3d\u0142o wiedzy na temat najnowszych trend\u00f3w w hostingu. Odkryjmy razem, jak wykorzysta\u0107 technologi\u0119, aby zwi\u0119kszy\u0107 wydajno\u015b\u0107 i bezpiecze\u0144stwo Twojej strony.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/#organization\",\"name\":\"STATNET Online\",\"url\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/logo-statnet-online.png\",\"contentUrl\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/logo-statnet-online.png\",\"width\":612,\"height\":174,\"caption\":\"STATNET Online\"},\"image\":{\"@id\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/statnetpl\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/statnet\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.statnet.pl\\\/blog\\\/#\\\/schema\\\/person\\\/e80a79ff68b516e6a279ea442ab3086c\",\"name\":\"MT\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d9e2c006c9089d175d337b9d72afffee1b6a511eea66a43c181b7b79e917c893?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d9e2c006c9089d175d337b9d72afffee1b6a511eea66a43c181b7b79e917c893?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d9e2c006c9089d175d337b9d72afffee1b6a511eea66a43c181b7b79e917c893?s=96&d=mm&r=g\",\"caption\":\"MT\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Scraping katalog\u00f3w Prestashop","description":"Sklep PrestaShop mo\u017ce by\u0107 atakowany w subtelny, niezauwa\u017calny spos\u00f3b, przez zautomatyzowane pobieranie danych z katalogu produkt\u00f3w \u2013 scraping","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.statnet.pl\/blog\/e-commerce\/prestashop\/scraping-katalogow-sklepow-prestashop\/","og_locale":"pl_PL","og_type":"article","og_title":"Scraping katalog\u00f3w Prestashop","og_description":"Sklep PrestaShop mo\u017ce by\u0107 atakowany w subtelny, niezauwa\u017calny spos\u00f3b, przez zautomatyzowane pobieranie danych z katalogu produkt\u00f3w \u2013 scraping","og_url":"https:\/\/www.statnet.pl\/blog\/e-commerce\/prestashop\/scraping-katalogow-sklepow-prestashop\/","og_site_name":"Blog","article_publisher":"https:\/\/www.facebook.com\/statnetpl\/","article_published_time":"2026-07-08T07:49:48+00:00","article_modified_time":"2026-07-08T07:53:45+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2026\/07\/scraping.png","type":"image\/png"}],"author":"MT","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"MT","Szacowany czas czytania":"8 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.statnet.pl\/blog\/e-commerce\/prestashop\/scraping-katalogow-sklepow-prestashop\/#article","isPartOf":{"@id":"https:\/\/www.statnet.pl\/blog\/e-commerce\/prestashop\/scraping-katalogow-sklepow-prestashop\/"},"author":{"name":"MT","@id":"https:\/\/www.statnet.pl\/blog\/#\/schema\/person\/e80a79ff68b516e6a279ea442ab3086c"},"headline":"Scraping katalog\u00f3w sklep\u00f3w PrestaShop &#8211; cichy atak, kt\u00f3ry potrafi przeci\u0105\u017cy\u0107 serwer","datePublished":"2026-07-08T07:49:48+00:00","dateModified":"2026-07-08T07:53:45+00:00","mainEntityOfPage":{"@id":"https:\/\/www.statnet.pl\/blog\/e-commerce\/prestashop\/scraping-katalogow-sklepow-prestashop\/"},"wordCount":1439,"publisher":{"@id":"https:\/\/www.statnet.pl\/blog\/#organization"},"image":{"@id":"https:\/\/www.statnet.pl\/blog\/e-commerce\/prestashop\/scraping-katalogow-sklepow-prestashop\/#primaryimage"},"thumbnailUrl":"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2026\/07\/scraping.png","articleSection":["PrestaShop"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/www.statnet.pl\/blog\/e-commerce\/prestashop\/scraping-katalogow-sklepow-prestashop\/","url":"https:\/\/www.statnet.pl\/blog\/e-commerce\/prestashop\/scraping-katalogow-sklepow-prestashop\/","name":"Scraping katalog\u00f3w Prestashop","isPartOf":{"@id":"https:\/\/www.statnet.pl\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.statnet.pl\/blog\/e-commerce\/prestashop\/scraping-katalogow-sklepow-prestashop\/#primaryimage"},"image":{"@id":"https:\/\/www.statnet.pl\/blog\/e-commerce\/prestashop\/scraping-katalogow-sklepow-prestashop\/#primaryimage"},"thumbnailUrl":"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2026\/07\/scraping.png","datePublished":"2026-07-08T07:49:48+00:00","dateModified":"2026-07-08T07:53:45+00:00","description":"Sklep PrestaShop mo\u017ce by\u0107 atakowany w subtelny, niezauwa\u017calny spos\u00f3b, przez zautomatyzowane pobieranie danych z katalogu produkt\u00f3w \u2013 scraping","breadcrumb":{"@id":"https:\/\/www.statnet.pl\/blog\/e-commerce\/prestashop\/scraping-katalogow-sklepow-prestashop\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.statnet.pl\/blog\/e-commerce\/prestashop\/scraping-katalogow-sklepow-prestashop\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.statnet.pl\/blog\/e-commerce\/prestashop\/scraping-katalogow-sklepow-prestashop\/#primaryimage","url":"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2026\/07\/scraping.png","contentUrl":"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2026\/07\/scraping.png","width":1200,"height":628,"caption":"Scraping"},{"@type":"BreadcrumbList","@id":"https:\/\/www.statnet.pl\/blog\/e-commerce\/prestashop\/scraping-katalogow-sklepow-prestashop\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/www.statnet.pl\/blog\/"},{"@type":"ListItem","position":2,"name":"Scraping katalog\u00f3w sklep\u00f3w PrestaShop &#8211; cichy atak, kt\u00f3ry potrafi przeci\u0105\u017cy\u0107 serwer"}]},{"@type":"WebSite","@id":"https:\/\/www.statnet.pl\/blog\/#website","url":"https:\/\/www.statnet.pl\/blog\/","name":"Blog","description":"Artyku\u0142y na blogu to \u017ar\u00f3d\u0142o wiedzy na temat najnowszych trend\u00f3w w hostingu. Odkryjmy razem, jak wykorzysta\u0107 technologi\u0119, aby zwi\u0119kszy\u0107 wydajno\u015b\u0107 i bezpiecze\u0144stwo Twojej strony.","publisher":{"@id":"https:\/\/www.statnet.pl\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.statnet.pl\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/www.statnet.pl\/blog\/#organization","name":"STATNET Online","url":"https:\/\/www.statnet.pl\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.statnet.pl\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2023\/12\/logo-statnet-online.png","contentUrl":"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2023\/12\/logo-statnet-online.png","width":612,"height":174,"caption":"STATNET Online"},"image":{"@id":"https:\/\/www.statnet.pl\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/statnetpl\/","https:\/\/www.linkedin.com\/company\/statnet"]},{"@type":"Person","@id":"https:\/\/www.statnet.pl\/blog\/#\/schema\/person\/e80a79ff68b516e6a279ea442ab3086c","name":"MT","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/secure.gravatar.com\/avatar\/d9e2c006c9089d175d337b9d72afffee1b6a511eea66a43c181b7b79e917c893?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/d9e2c006c9089d175d337b9d72afffee1b6a511eea66a43c181b7b79e917c893?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d9e2c006c9089d175d337b9d72afffee1b6a511eea66a43c181b7b79e917c893?s=96&d=mm&r=g","caption":"MT"}}]}},"_links":{"self":[{"href":"https:\/\/www.statnet.pl\/blog\/wp-json\/wp\/v2\/posts\/2633","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.statnet.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.statnet.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.statnet.pl\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.statnet.pl\/blog\/wp-json\/wp\/v2\/comments?post=2633"}],"version-history":[{"count":7,"href":"https:\/\/www.statnet.pl\/blog\/wp-json\/wp\/v2\/posts\/2633\/revisions"}],"predecessor-version":[{"id":2646,"href":"https:\/\/www.statnet.pl\/blog\/wp-json\/wp\/v2\/posts\/2633\/revisions\/2646"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.statnet.pl\/blog\/wp-json\/wp\/v2\/media\/2635"}],"wp:attachment":[{"href":"https:\/\/www.statnet.pl\/blog\/wp-json\/wp\/v2\/media?parent=2633"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.statnet.pl\/blog\/wp-json\/wp\/v2\/categories?post=2633"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.statnet.pl\/blog\/wp-json\/wp\/v2\/tags?post=2633"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}