2008-11-07 9 views
6

Szukam obfuscatora JavaScript za darmo. Czy kompresja wystarczy? Jakie narzędzia poleciłbyś? Oczywiście nie potrzebuję zaciemniania w stylu militarnym, potrzebuję pewnej metody, aby zapobiec kradzieży mojego javascript przez dzieci, patrząc na źródło lub używając czegoś prostego, takiego jak unescape().

Dzięki, TomDarmowe obfuscators JavaScript?

+0

Możesz też po prostu przestać martwić się, że ludzie "ukradną" źródło Twojej strony. Albo tego chcesz, albo nie. Dlaczego odwiedzasz stronę internetową, która ma pomagać ludziom w nauce kodowania, prosić o pomoc w powstrzymywaniu nauki od kodu? – Coderer

Odpowiedz

16

Twoim problemem jest to, że bez względu na to, ile go ściskać lub ukryć, w końcu przeglądarka musi go zinterpretować. Najlepsze, co możesz zrobić, to zmienić nazwy wszystkich zmiennych na pozbawione znaczenia przypadkowe vary i usunąć wszystkie komentarze i białe spacje.

Kilka dobrych narzędzi:

+0

Tak jak można rozpoznać struktury i zastąpić je w ramach optymalizacji kodu, można rozpoznać struktury i zastąpić je specjalnie, aby kod trudniej było śledzić. Zwykle jest nadal podatny na złamania, sprawia, że ​​jest wolniejszy i wykorzystuje więcej pamięci RAM, ale firmy sprzedają narzędzia, aby to zrobić. –

+0

Myślę, że nie jest to dobre rozwiązanie, możesz oddzielić kod od http://jsbeautifier.org/. –

0

Będę również zastępował rekomendację dla kompresora YUI, działa bardzo dobrze i potrafi kompresować i zaciemniać, a także wydaje zalecenia dotyczące kodowania javascript.

5

Można użyć/pakowacz/

http://dean.edwards.name/packer/

+0

Nie działa.Możesz po prostu odfiltrować kod za pomocą http://jsbeautifier.org/ –

+0

Czy włączyłeś opcje "Ogranicz zmienne" i "Kodowanie Base62"? – Imran

0

zagłosuję za Packer, jak również. Istnieją wersje online, wersje autonomiczne, a nawet wersja konsolowa, której używam do automatycznego pakowania moich javascriptów podczas budowania aplikacji internetowych.

+0

Dlaczego zostało to odrzucone? – Tom

+0

może twoja odpowiedź bardziej dotyczy kompresji niż zaciemniania? – tomasb

+0

Moja odpowiedź brzmi bardziej trafnie ponad 6 lat temu, kiedy została opublikowana. Może nie tak bardzo teraz. Lepsze pytanie brzmi: dlaczego skomentowałeś sześcioletnią odpowiedź na zamknięte pytanie? –

4

Z reguły nie używaj obfuscatora, który używa eval, ponieważ spowalnia to twoją stronę, użyj kompresora, który tego nie robi. To zapewni zaciemnianie dla początkujących, i tak nikt inny nie będzie zniechęcany przez żaden obfuscator.

Większość obfuscatorów utworzy napisy reprezentujące kod na końcu, a następnie użyje eval, może to zostać cofnięte przez proste instrukcje ostrzegawcze, o co chodzi?