Zewnętrzne skrypty marketingowe – zagrożenia vs. dobre praktyki

Temat skryptów zewnętrznych przewija się w rozmowach z naszymi Klientami od kilku lat. Z jednej strony dają one szerokie możliwości w zakresie promocji sklepów internetowych, z drugiej zaś bywają przyczyną problemów w funkcjonowaniu stron.

Tym artykułem chcemy uświadomić przedsiębiorcom prowadzącym sprzedaż w Internecie, czym dla serwisów e-commerce są zewnętrzne skrypty marketingowe oraz jakie mogą powodować problemy. Zaproponujemy także kilka dobrych praktyk, które pomogą minimalizować ryzyko pojawiania się błędów i zagrożeń.

Czym są zewnętrzne skrypty?

Zewnętrzny skrypt to plik z kodem źródłowym pobierany od zewnętrznego operatora, który po dołączeniu do kodu strony traktowany jest jako część serwisu.

Taka jest definicja, a jak to działa w praktyce:)?

Czasami wystarczy 15 minut, żeby dodać skrypt do sklepu przez Google Tag Managera i cieszyć się dodatkową konwersją, dodatkowym źródłem ruchu albo danymi do analizy zachowań użytkowników. Idealne rozwiązanie, prawda?

Chcemy lepiej zbadać zachowanie użytkowników – instalujemy Crazy Egg lub Hotjar. Działamy aktywnie na LinkedIn – dodajemy tag LinkedIn Insight i mamy więcej danych o skuteczności. A kto w e-commerce nie rozważał jeszcze instalacji skryptu od Criteo?

” Skrypty dołączone do kodu strony mogą pobierać dodatkowe informacje o tym, jak strona działa, co dzieje się w przeglądarce Użytkownika. Każda taka zapisana informacja daje wiele dodatkowych korzyści, np. możliwość przeprowadzenia kampanii marketingowej/ sprzedażowej. Z drugiej strony może także zaburzać działanie strony lub wręcz powodować utratę kontroli nad danymi Klientów.”


Łukasz Kukawski,
Senior Developer Best.net

Warto więc korzystać ze skryptów w pełni świadomie, bo wraz ze skryptem dajemy dostawcy dostęp do wszystkiego, dosłownie wszystkiego, co dzieje się w naszym sklepie w przeglądarkach użytkowników.

zewnętrzne skrypty marketingowe - zagrożenia

Zatem… jakiego rodzaju problemy mogą się pojawić?

1. Im więcej skryptów, tym strona działa wolniej każdy skrypt obciąża dodatkowo przeglądarkę Użytkownika (kod źródłowy takiej biblioteki wykonuje się w jego przeglądarce).

2. Konflikty bibliotek oraz błędy w kodzie skryptów mogą doprowadzić do niepoprawnego działania aplikacji.

  • Błędnie napisane skrypty, które nie posiadają swojej prywatnej przestrzeni nazw, mogą powodować nadpisywanie zmiennych/metod/funkcji, a co za tym idzie także całych funkcjonalności, jakie serwis oferuje swoim Klientom.
  • Brak staranności ze strony deweloperów zewnętrznych bibliotek. Zdarza się, że załączone skrypty posiadają błędy, które w odizolowanym środowisku nie powodują problemów, ale już załączenie ich na stronie wywołuje nieprzewidziane skutki (np. niektóre błędy mogą spowodować zatrzymanie wykonywania wszystkich pozostałych skryptów na stronie, a w konsekwencji niepoprawne działanie serwisu).
  • Błędy spowodowane działaniem zewnętrznych skryptów pojawiają się zazwyczaj dopiero po ich zastosowaniu na stronie.

3. Kradzież danych – największe zagrożenie na działania serwisu, dlatego ten temat wymaga dłuższego omówienia.

  • ATAK NA STRONĘ – bezpośredni lub pośrednio poprzez włamanie się na serwis zewnętrzny i zamianę skryptów, które zostały dołączone do naszej strony. Taka luka w zabezpieczeniu umożliwia kradzież sesji oraz danych wrażliwych.

Każdy Użytkownik w momencie wejścia na daną stroną ma tworzoną przez serwer “swoją” sesję. System jednak nie ma możliwości bezpośredniego rozpoznawania połączeń nawiązywanych przez przeglądarki Użytkowników, dlatego w tym celu generowany jest klucz. Wspomniany klucz to wartość przechowywana w odpowiednio przygotowanych plikach (tzw. ciasteczkach). Ciasteczka to dane przechowywane na komputerze Użytkownika, które mogą zawierać niewielkie porcje informacji, jak np. identyfikator (ID) sesji.

W momencie zalogowania się Użytkownika na serwerze zapisywana jest informacja, że Klient o danym ID sesji jest zalogowany. Wystarczy zatem pobrać (wykraść) identyfikator takiej sesji, który można w łatwy sposób podmienić w przeglądarce.

Nasze systemy zostały w maksymalny możliwy sposób zabezpieczone przed tego rodzaju atakami, co jednak nie jest równoznaczne z faktem, że ataki nie są możliwe. Klienci bardzo często korzystają ze starych wersji popularnych przeglądarek, które nie posiadają odpowiednich zabezpieczeń.

Ryszard Łęt
CTO Best.net

  • KEYLOGGER – jest to rejestrowanie wszystkiego co Użytkownik wpisuje w różnych formularzach dostępnych na stronie. Możliwa jest zatem kradzież zarówno wszelkich danych osobowych, danych autoryzacyjnych, jak i np. numerów kart bankowych oraz wszelkiego rodzaju danych umożliwiających autoryzację Użytkownika w różnych systemach płatności.
  • PHISHING – atak polegający na wyłudzeniu informacji, np. poprzez podstawienie fałszywego formularza do logowania lub na stronie powiązanej z autoryzacją Użytkownika w systemach płatności. W tym przypadku możliwe jest wyłudzenie wszelkich danych osobowych niezbędnych do dostępu (np. do konta bankowego) czy karty kredytowej.
  • ATAK DDOS – polega na wywołaniu dużej ilości requestów po jakimś zdarzeniu lub wchodząc po prostu na stronę. Tego rodzaju atak może spowodować albo awarię przeglądarki, albo ograniczyć dostęp do serwera, na którym jest sklep.

Wyobraźmy sobie, że Klient wchodzi na stronę i klika na przycisk “Zaloguj”. W tym czasie wykonywanych jest 10000 requestów * ilość Użytkowników, która również w ten przycisk kliknęła.

Pamiętaj!

Utracenie przez sklep różnego rodzaju danych skutkuje naruszeniem zasad RODO, a wtedy konieczne jest zgłoszenie takiego zdarzenia do GIODO.

naruszenie zasad RODO strona www

Nie unikniemy dodawania skryptów, gdyż jest to jeden ze sposobów generowania ruchu i zwiększania przychodu w e-commerce.

Niestety nawet jeśli dostarczony skrypt jest wykonany poprawnie, a firma go dostarczająca (np. agencja marketingowa) nie ma złych zamiarów i zbiera jedynie te dane, które musi (by np. zrealizować kampanię) to wciąż istnieje zagrożenie związane z naruszeniem bezpieczeństwa u danego dostawcy i wykorzystania jego skryptów do tego, aby zaatakować wszystkie systemy, które mają je podpięte.

Warto zatem pamiętać o dobrych praktykach, które mogą zminimalizować ryzyko wystąpienia na stronie niepotrzebnych błędów czy niebezpiecznych ataków na serwis.

Błażej Łukomski
CEO Best.net

Na koniec kilka dobrych praktyk, które pozwolą zadbać o bezpieczeństwo serwisu w kontekście zewnętrznych skryptów marketingowych:

  1. Instaluj skrypty tylko od zaufanych dostawców.
  2. Zabezpieczaj się poprzez umowy z dostawcami skryptów, np. z agencjami marketingowymi.
  3. Warto wskazywać miejsca, gdzie tych skryptów nie powinno być, np. formularze zamówienia, formularz rejestracji lub inne specyficzne dla Twojego sklepu lokalizacje.
  4. Warto ukrywać dane osobowe w miejscach, gdzie skrypty są podłączone. W ramach programu deweloperskiego 2021 taka funkcjonalność będzie realizowana (zadanie: Anonimizacja danych Klienta na stronach potwierdzenia zamówienia i orderInfo (tylko dla niezalogowanych lub dla wszystkich Użytkowników)).
  5. Inną formą zabezpieczenia może być użycie narzędzia Google Tag Manager w wersji server-side, gdzie skrypty uruchamiane będą w odseparowanym od serwisu środowisku. Wówczas przekazywane są do nich tylko te dane, które my im wyślemy z wykorzystaniem dataLayer.

Z pozdrowieniami,
Best.net Team

Przeczytaj również:

Przeczytaj więcej

Developer

Wersja 2.31, czyli jak dostosowaliśmy kilka modułów do GA4

Nowa wersja sklepu 2.31 zawiera zestaw bardzo potrzebnych zmian i aktualizacji, m.in. związanych z przejściem na Google Analytics w wersji 4, ale także zrealizowanych w ramach Programu Deweloperskiego.  Oto co zawiera wersja 2.31:

Planujesz wdrożenie e‑commerce B2B lub B2C?

Dostarczamy technologię i know-how