Dokumentacja
/
Przepisy
/

Dobre praktyki

Dobre praktyki

Jak skutecznie stosować obfuskację - co chronić, czego nie ruszać i czego obfuskacja nie jest w stanie za Ciebie zrobić.

Zalecenia

  • Obfuskuj wyłącznie własny kod.

    Nie należy obejmować obfuskacją VM skryptów zewnętrznych, bibliotek ani polyfilli. Są już zminifikowane, a obfuskacja jedynie je spowolni.

  • Do precyzyjnej ochrony używaj trybu komentarza.

    Zamiast chronić wszystko, warto oznaczyć komentarzem /* javascript-obfuscator:vm */ tylko wrażliwe funkcje.

  • Testuj dokładnie po obfuskacji.

    Zobfuskowany kod należy zawsze przetestować w docelowym środowisku. Niektóre opcje potrafią zepsuć kod w subtelny sposób.

  • Wyłącz często wykonywane ścieżki kodu z obfuskacji VM.

    Dla pętli animacji, renderowania w czasie rzeczywistym oraz często wywoływanego kodu należy użyć vmExcludeFunctions.

Ważna uwaga dotycząca bezpieczeństwa

Obfuskacja utrudnia inżynierię wsteczną, ale nie jest szyfrowaniem. Zdeterminowany atakujący zawsze może wydobyć dane z kodu działającego po stronie klienta.

Zamiast tego należy:

  • przechowywać sekrety na serwerze zaplecza,
  • korzystać ze zmiennych środowiskowych po stronie serwera,
  • kierować wywołania API przez własny backend, aby ukryć klucze,
  • używać krótkotrwałych tokenów wydawanych przez serwer.

Co warto chronić?

Obfuskacja VM sprawdza się idealnie w przypadku:

  • własnych algorytmów i logiki biznesowej,
  • kodu weryfikującego licencje (kontrole po stronie klienta),
  • zabezpieczeń przed manipulacją i kontroli integralności,
  • logiki gier oraz mechanizmów antycheatowych,
  • implementacji funkcji premium,
  • logiki wyliczania cen.