Zaciemnianie kodu

1programmer
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 623
0

Używacie obfuscation albo innych technik na swoim frontendowym kodzie?

Zawsze pisałem śmieszne crudy, więc nie czułem potrzeby poza zwykłą minifikacją. Teraz mam projekt, który chińczyki exploitują na githubie i aktywnie szukają dziur. Można zaciemnić kod, ale niby są gotowe biblioteki, które to odkodują, więc nie wiem, czy to w ogóle warte zachodu.

Używacie takich rzeczy jak np. https://github.com/javascript-obfuscator/javascript-obfuscator ?
Piszecie własne algorytmy zaciemniające kod? Dynamicznie wykonujecie kod zaciągnięty z serwera?

Jakie są standardy w tym temacie?

marian pazdzioch
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 789
1

No to jest jak wszystko w security, utrudniasz tak bardzo jak atakującemu nie będzie się chciało przełamywać.

loza_prowizoryczna
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1628
0
1programmer napisał(a):

Jakie są standardy w tym temacie?

Używam różnych modeli do

  • generowania kodu
  • pisania dokumentacji do kodu
  • testowania kodu

Dzięki temu wszystko wygląda spójnie ale debugging kosztuje więcej niż napisanie od nowa.

AN
  • Rejestracja: dni
  • Ostatnio: dni
1

Moim zdaniem, zagadnienie w ogóle niewarte zachodu. Jeżeli jest to aplikacja typu frontend+backend, to kluczowa logika biznesowa powinna być po stronie serwera, i backend powinien być odporny na podstawianie przypadkowych i spreparowanych informacji od strony frontendu, nawet, jeżeli kod frontendu jest jawny.

Zamiast utrudniać analizę i debugowanie kodu frontend, lepiej skupić się na walidacji i filtrowaniu informacji przyjmowanych od klienta po stronie serwera.

obscurity
  • Rejestracja: dni
  • Ostatnio: dni
1

zwykła minifikacja kodu przez jakiś webpack czy tym podobne już na tyle zaciemnia kod że korzystanie z dodatkowych obfuskatorów dużo nie zmienia i jest odwracalne do tej samej postaci. Jak chcesz to możesz częśc kodu wrzucić do wasma, to chyba maksymalnie jak się da utrudni analizę. Jedyny sposób żeby w 100% zabezpieczyć algorytm to przenieść go na backend

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.