JavaScript: skrivnost skrivamo pred radovednimi očmi. Tak primer Kako videti izvorno kodo strani za odpravljanje napak v skriptu
JavaScript: Skrijte skript pred radovednimi očmi
- Lesena soba *
Ste kdaj želeli na svoji strani pred tujci skriti skript, ki izvaja nerealno lep videz menija ali izvaja druga dejanja, ki jih ne bi želeli videti kmalu na vsakem drugem mestu?
Če je odgovor pritrdilen, vam bo metoda, opisana v tem članku, koristna skupaj z zamegljevanjem kode. Hkrati bom takoj rezerviral, da metoda ni 100%, lahko pa zaščiti pred večino neprofesionalcev in nekaterimi strokovnjaki.
Teorija
Recimo, da imamo stran nojs.php s skriptom secret.js, ki ga je treba skriti. Brskalnik in uporabnik lahko iz strežnika dobita skript na naslednje načine:- Nalaganje skripta, ki je neposredno postavljen na stran ali naložen z DOM;
- Ogled skripta v oknu Izvorna koda strani;
- Shranjevanje strani z vsemi datotekami na trdi disk;
- Vnos neposrednega URL -ja v naslovno vrstico.
V drugem in tretjem primeru ga ne prenašajo vsi brskalniki (Chrome, FireFox izdajo predhodno naložen skript iz predpomnilnika; Opera, IE znova prenesejo skript, vendar brez pošiljanja napotitelja).
V četrtem primeru referenca ne prenese noben od štirih brskalnikov.
Če izdamo JavaScript dinamično s preverjanjem prisotnosti glave napotitelja v zahtevi, se bomo takoj zaščitili pred Opero in IE, za Crome in Firefox pa se bomo morali odločiti za nekaj zapletenega. Najprej bomo prenesli en skript, ki bo nato prenesel drugega, medtem ko bosta oba prenosa preverjena glede prisotnosti http-refererja. Znanstveno je bilo ugotovljeno, da če na strani document.createElement ("script") dinamično ustvarite skript in ga nato odstranite s strani, bo skript deloval kot običajno, vendar ne bo shranjen.
Vadite
nojs.php
Namen te strani je naložiti script1.phpheader("Content-Type:text/html;charset=utf-8"); ?>
Po 10 sekundah bi morali videti delo skritega skripta v obliki alergije, klikniti povezavo po opozorilu, da se prepričate, da tudi dogodki niso odpadli. Na tej povezavi si lahko ogledate skrit skript