Proteggi i tuoi script client-side

di Daniele Bochicchio, in ASP - Scripting,

Mettere il proprio script JS in una pagina ASP può essere utile per proteggere il proprio lavoro da occhi indiscreti.

Si può fare servendosi del MIME type .
Basta inserire nella pagina ASP che richiama il nostro script, una linea del genere:

Session("js")="ok"

e farla seguire dal richiamo al file .asp che contiene lo script,

<script type="text/javascript" src="js.asp"<</script<

A questo punto, inserendo nella nostra pagina ASP una semplice routine di verifica dell'oggetto Session, tutto dovrebbe andare a gonfie vele!

<%
Response.Expires=0
if Session("js")="ok" then
Response.ContentType="application/x-javascript"
...codice da eseguire...
else
...messaggio di errore in HTML puro
end if
Session("js")="ko"

%>

In qualsiasi caso, sia che venga richiamato da una pagina autorizzata (che abbia in sostanza il comando Session("js")="ok" al proprio interno), sia che si cerchi di accedervi direttamente o senza permesso, lo script va ad impostare su ko il valore dell'oggetto Session, in modo che sia quasi impossibile, se non tramite la sola pagina .asp che richiama la nostra JS-ASP, accedere al suo contenuto.

Ed il nostro lavoro sarà al sicuro da occhi indiscreti.

O quasi, visto che in effetti un sistema per aggirare questa protezione c'è: basta andare a richiamare la pagina con un browser che abbia i cookies disabilitati: oppure usare Internet Explorer 5, che ha un difetto con l'expires delle pagine , e con cui, come mi hanno fatto notare gli amici di it.comp.lang.javascript , al momento del salvataggio della pagina, salva anche in chiaro il file js.asp, visto che non riprocessa la chiamata a causa di questo suo bug.

In ogni caso, questo rimane un sistema molto sicuro, considerato che in un file .js di norma non viene nascosto dell'oro.

Contenuti dell'articolo

    Commenti

    Visualizza/aggiungi commenti

    | Condividi su: Twitter, Facebook, LinkedIn

    Per inserire un commento, devi avere un account.

    Fai il login e torna a questa pagina, oppure registrati alla nostra community.

    Approfondimenti