2016-06-01 45 views
5

Niedawno przeszedłem do zadań menedżera zadań i zauważyłem, że domyślnie zadanie kompilacji generuje pliki .map. Zastanawia mnie to: czy można zaciemnić kod przy wdrażaniu produkcji? Czy chroni moje oprogramowanie przed zhackowaniem? Jeśli tak, czy powinienem skasować moje pliki .map?Czy obfuskacja kodu jest naprawdę przydatna w javascript?

+0

Bezpieczeństwo przez zapomnienie nie jest dobrym pomysłem. Wkrótce lub później zaciemniony kod może zostać pozbawiony zaciemnienia, złoci faceci mają cały czas na to, podczas gdy masz tylko krótki czas na skonstruowanie swojego oprogramowania. – Oscar

+0

Nie można chronić swojej aplikacji webowej przed inżynierią wsteczną. Obfuskacja to tylko narzędzie do minimalizacji kodu, aby skrócić czas pobierania. –

Odpowiedz

6

Proste zaciemnianie nie chroni oprogramowania przed włamaniem. Jeśli naprawdę chcesz chronić swój javascript, aby dodać coś, co sprawi, że życie kogoś, kto próbuje kraść lub manipulować oprogramowaniem naprawdę trudne, powinieneś sprawdzić Jscrambler. Nie widziałem jeszcze żadnego rozwiązania, które byłoby nawet bliskie poziomowi ochrony, jaki umożliwiają.

Jeśli chodzi o pytanie dotyczące map źródłowych, jeśli je ignorujesz, powinieneś je usunąć.

1

Obfuskacja Javascriptem nie chroni oprogramowania przed zhackowaniem. Łatwo jest napisać oprogramowanie, aby go nie zaciemnić, lub po prostu użyć narzędzia online: http://jsbeautifier.org/

Powodem, dla którego chciałbyś użyć Gulpa do kompresji JavaScriptu, byłoby zmniejszenie rozmiaru pliku i zmniejszenie liczby żądań do serwer. Co sprawia, że ​​Twoja strona ładuje się szybciej.

Aby odpowiedzieć na twoje pytanie: Nie usuwaj swoich plików .map. Są one używane do odniesienia do "wulgaryzowanego/zaciemnionego" do debugowania. Zobacz: https://stackoverflow.com/a/21719713/387761

+1

Nie wszystkie obfuskacje i inne formy ochrony mogą zostać niezauważone lub pokonane przez jsbeautifier lub inne tego typu, spróbuj to zrobić z transformacjami zastosowanymi za pomocą https://jscrambler.com/en/ Nie zadziała. –