Zabezpieczanie kodu javascript

0

Witam.
Interesuje mnie jak można zabezpieczyć źródło JavaScript przed oczami wścibskich internautów. Czy jest możliwość skompilowania takiego kodu jak w przypadku javy?? Czy może jest jakiś inny sposób na jego zabezpieczenie??

0

W zasadzie tylko obfuskacja.

0

a można by było tak zamiast JS umieścić na stronie zwykły kod javy który pełnił by te same funkcje??
Jeśli tak to proszę o jakiś link do opisu jak to zrobić i najlepiej jeszcze do jakiegoś kursu jawy:D

0

Poczytaj o appletach. Applet oczywiscie tez mozna zdekompilowac, ale to bardziej utrudnia sprawe niz obfuskacja. Ograniczenie js wynika z tego, ze przegladarka jest interpreterem kodu js, stad musi znac kod, zeby go wykonac. Applet wykonuje lokalna maszynka Javy, stad wystarczy byte-code.

Kursy, tutoriale i dokumentacje znajdziesz na stronie suna.

0

Zacząłem trochę czytać o javie i mam jeszcze kilka pytań :

  1. Jak w javie wygląda serfowanie po dom-ie
  2. Czy zdarzenia w javie wyglądają tak samo jak np onclick i można w takowym podać wywołanie jakiejś metody javy
    3.Jak np zastąpić taka linijkę document.onmousemove = procedura;
0

W wielu przypadkach wystarczy zaladowanie kodu JS z wykorzystaniem ajaxa. Wtedy w kodzie strony jest tylko pokazane ze laczy sie po jakies tam dane i one pozniej przylatuja ale w kodzie ich juz nie widac ;) Aby bylo jeszcze ciekawiej to sam request po dane JS mozna wykorzystac SSL wtedy sniffowanie tego na poziomie karty sieciowej nic nie da bo tam dane beda zaszyfrowane a odszyfrowac bedzie je umiala tylko przegladarka ;)

To tez daloby rade obejsc tylko wymaga juz dosc sporo dodatkowej pracy ;)

//Do postu ponizej:
Fakt w ten sposob mozna zrobic request z innego serwera ale to tez mozna prosto utrudnic. Wystarczy aby serwer ktory bedzie dawal kod JS do zaladowania sprawdzal kto prosi o ten kod, jesli jakis obcy serwer to nic sie nie zwraca a jak odpowiedni to zwracamy co trzeba ;)

0

Wiedzy i znajmości JS przede wszystkim :> A sporo pracy to z tym raczej nie ma.

Odnośnie posta, który znikł:
Zawsze możesz wpisać jakiś ciąg znaków i z niego składać ścieżke, to troche zabrudzi czytelność i na pewno osoba, która nie zna JS tak szybko tego nie znajdzie:

var tekst='assawdfdpasdsa.lasda';
var pattern=[4,4,4,14,4,8,14,8,15];
var url='';
for(i=0;i<pattern.length;i++){
   url=url+tekst[i];
}
alert(url);
0

to zalezy co robisz.
Jak na przyklad menu rozwijanie to JS.
Ale jak generator losowych hasel to PHP.

0
Pedros napisał(a)

W wielu przypadkach wystarczy zaladowanie kodu JS z wykorzystaniem ajaxa. Wtedy w kodzie strony jest tylko pokazane ze laczy sie po jakies tam dane i one pozniej przylatuja ale w kodzie ich juz nie widac ;) Aby bylo jeszcze ciekawiej to sam request po dane JS mozna wykorzystac SSL wtedy sniffowanie tego na poziomie karty sieciowej nic nie da bo tam dane beda zaszyfrowane a odszyfrowac bedzie je umiala tylko przegladarka ;)

To tez daloby rade obejsc tylko wymaga juz dosc sporo dodatkowej pracy ;)

Firefoxa z rozszerzeniem Firebug powinien pokazać w zakładce NET treść tego JS(przynajmniej w wersji bez SSL).
Niezależnie czy z SSL, czy też nie jeżeli masz w stronie linka do tego JS, to użytkownik będzie mógł go pobrać ręcznie.

Fakt w ten sposob mozna zrobic request z innego serwera ale to tez mozna prosto utrudnic. Wystarczy aby serwer ktory bedzie dawal kod JS do zaladowania sprawdzal kto prosi o ten kod, jesli jakis obcy serwer to nic sie nie zwraca a jak odpowiedni to zwracamy co trzeba

Jak to niby ma działać? Chcesz mieć listę wszystkich użytkowników, którzy mogą ściągnąć tego JS?

0

Tak czy inaczej przegladarka musi dostac poprawny kod, zeby go wykonac, co ogolnie rzecz biorac oznacza, ze zawsze da sie go odczytac. Jakkolwiek namieszane by nie bylo.

0

GWT

0
__krzysiek85 napisał(a)

Firefoxa z rozszerzeniem Firebug powinien pokazać w zakładce NET treść tego JS(przynajmniej w wersji bez SSL). Niezależnie czy z SSL, czy też nie jeżeli masz w stronie linka do tego JS, to użytkownik będzie mógł go pobrać ręcznie.

Zapewne w ten sposob bedzie to duzo prostsze, nie twierdze ze moj sposob jest idealny na wszystko ale znacznie utrudnia zaglebienie sie w kod, mozna do tego dodac jeszcze jakies narzedzie ktore utrudni czytelnosc kodu.

__krzysiek85 napisał(a)

Jak to niby ma działać? Chcesz mieć listę wszystkich użytkowników, którzy mogą ściągnąć tego JS?

Bardzo prosto, generujac strone dla uzytkownika generujesz jednorazowy ticket (z czasem waznosci np 2-3sek aby starczylo na request pobierajacy kod) ktory umozliwia pobranie kodu JS. Laczac sie ajaxem do serwera ktory ma zwrocic ten kod podajesz ten wygenerowany wczesniej ciag znakow jako forma autoryzacji, cos tam po drugiej stronie sprawdza i zaznacza ze ten ticket zostal wykorzystany. W ten sposob laduje sie kod JS ale tylko raz dla danego wywolania jest mozliwe zaladowanie go, w kodzie go nie widac a recznie go nie pobierzesz bo nie znasz kodu ktory to umozliwia

Jak juz inni zauwazyli sam JS musi byc znany przegladarce aby mogl zostac wykonany wiec musi dotrzec w miare normalnej formie i w 100% nie da sie go zabezpieczyc. Na sile jak ktos bedzie chcial to moze sobie FF przekompilowac i wszystkie skrypty ktore sa pobierane zapisywac w osobnych plikach. Pewnie korzystajac z rozszerzen do FF tez da sie cos podobnego uzyskac, kwestia tylko odpowiedniego narzedzia.

0

@Pedros: Sam Firebug zwykle umozliwia podglad pobranych skryptow js, wiec w Twoim przypadku po pobraniu masz skrypt jak na dloni.

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