Wątek przeniesiony 2015-03-20 15:14 z Webmastering przez dzek69.

Zaszyfrowanie kodu JavaScript

0

cześć jestem tu początkującym i mam pytanie jak mogę zaszyfrować kod javascript zeby w kodzie źródłowym w ogóle go nie było lub zakodowany

0

Możesz co najwyżej obfuscować, ale to i tak się da odczytać :).

Poczytaj o obsucatorach

0

Nie. Javascript jest wykonywany po stronie klienta i użytkownik zawsze będzie miał dostęp do tego kodu. Można go obfuskować (zaciemnić). To jednak jest ograniczeniem tylko dla leniwych i scripting-kidds, którzy nie potrafią czytać takiego kodu.

Ja mam tu jedno pytanie, dlaczago chcesz koniecznie szyfrować JS?

1

To taki syndrom początkujący - często początkującym wydaje się że to co wykodzą jest mega cenne i wszyscy będą to chcieli ukraść

W praktyce - jeżeli jesteś początkującym to Twój kod nie jest warty kradzenia, jeżeli nie jesteś początkujący to Twój kod jest zbyt skomplikowany i ma zbyt dużo iterakcji ze stroną serwerową żeby łatwo dało się rozwiązanie ukraść. W dodatku cudzy kod bez totalnego wsparcia ciężej zrozumieć i przerobić na własne potrzeby; taniej i lepiej zazwyczaj wyjdzie zaimplementować własne rozwiązanie.
Jest jeszcze możliwość że próbujesz ukryć w kodzie jakieś hasło albo metody komunikacji pozwalające na oszukiwanie (np w przypadku gry) - próbujesz stosować "Security through obscurity" uzyskując złudne wrażenie bezpieczeństwa - w praktyce pamiętaj że można nie tylko podejrzeć kod javascript, ale można też podsłuchać ruch sieciowy
To ciężki temat ale na pewno nie można liczyć że user nie zdoła "złamać" kodu który wykonuje się po jego stronie. Nie można ufać w pełni żadnym informacjom pochodzącym od klienta, ale można sprawdzać ich integralność na takim poziomie że spreparowanie takich danych będzie bardzo trudne (przykładowo gra może co kilka sekund raportować na serwerze aktualny stan punktowy - jeżeli w danym przedziale liczba punktów podskoczy o więcej niż to jest fizycznie możliwe to user dostaje bana; jeżeli to gra multiplayer to logiką i przydzielaniem punktów powinien się zajmować serwer)

1

tl;dr: Nie da się.

0

możesz zaszyfrować (np AES) tylko musisz dodać funkcje, która to odszyfruje i doda Twój kod do kodu strony. Trzeba też gdzieś tam trzymać klucz. Można się tak bawić, wtedy ktoś, kto zna tylko ctrl+u nie będzie widział tego kodu...

0

A może ?

<script src="data:text/javascript;base64,...."></script>
0
.Al napisał(a):

możesz zaszyfrować (np AES) tylko musisz dodać funkcje, która to odszyfruje i doda Twój kod do kodu strony

w którymś momencie musi nastąpić deszyfrowanie żeby kod wykonać, więc nie ważne jak skomplikowany nie byłby sposób szyfrowania to wystarczy na końcu podmienić eval na alert - każdy kto "zna tylko ctrl+u" będzie też umiał zrobić to

1 użytkowników online, w tym zalogowanych: 0, gości: 1