I Online Sandali Tod's Acqusita Tacco Plateau DonneCompara E Prezzi tCshQdr

Sarà colpa o merito di AJAX, ma è un dato di fatto che la stragrande maggioranza delle applicazioni web in (pseudo)salda 2.0 sono piene zeppe di codice javascript.

Essendo questo un linguaggio interpretato lato client dal browser, arriva ai nostri pc in modo del tutto leggibile. Caso diverso è dato dai linguaggi di scripting web, molti dei quali (php e asp i più comuni) sono linguaggi interpretati, ma lato server.

Per fare un esempio concreto, quando aprite una pagina qualunque di questo blog, attivate uno script in PHP che mette in azione l’interprete sul server, il quale restituirà codice (x)html al vostro browser. Il client vede solo il risultato finale. Non ha accesso al sorgente dello script che ha generato il codice html.

Prezzo Donna Traforata Infradito 5ev135 Sandali Basso E LVUzMGqSp

Come già detto, con javascript è tutto molto diverso. Anch’esso è linguaggio non compilato, ma interpretato. Ha però la caratteristica aggiuntiva di essere un linguaggio lato client. Questo vuol dire che è l’utente finale, tramite il browser, ad interpretare il codice javascript, che quindi dovrà essere necessariamente inviato in chiaro.

Dato ciò, qualsiasi ragazzino avvezzo alla lettura del markup riuscirà ad estrapolare dalle vostre pagine le funzioni JavaScript che mettono in opera handler AJAX e tante altre cose.

Da questo nascono due grandi considerazioni:

  • Evitare di far fare troppe cose a JavaScript. Con particolare riferimento ai controlli di sicurezza sui form et simila. L’utente malintenzionato potrebbe cercare di aggirare i controlli leggendo come questi vengono performati.
  • Sconti Messa Sandali Da Verdi In All'ingrosso Di Nuziali Vendita wk8X0nOP

  • Offuscare il codice JavaScript è cosa impossibile nei fatti. Al massimo sarebbe meglio dire che è possibile annebbiarlo 🙂

Come facciamo ad annebbiare il codice JavaScript? Semplice: scriviamolo in modo confuso, adottando metodologie poco pratiche, ma molto difficili da comprendere a primo acchitto. Ecco un esempio pratico:

function myFunc(‘id’,’myText’){
  //DIV Detector
  var DIV = document.getElementById(id);

  //Is the div showed?
  if(DIV.style.visibility == ‘hidden’ &&
     DIV.style.display == ‘none’){

      //If not, just show it and replace the text!
      DIV.style.visibility == ‘visible’;
      DIV.style.display == ‘block’;
      DIV.innerHTML = myText;Shop Basso Tan Jeffrey Campbell Le Sandalo Follie wPk80OnX
 }
}

Funzione semplice, basilare. Facile da capire, facile da leggere per chiunque. Scritta con i giusti rientri per evidenziare i flussi. Con dei nomi di variabili e parametri comprensibili. Anche commentata adeguatamente. Questo è un ottimo codice da condividere, affinchè altri possano riutulizzarlo e modificarlo senza problemi.

Ma se a noi desse fastidio la cosa? Se noi non volessimo che tutti quelli che si collegano al nostro sito possano facilmente recuperare tutto il codice JavaScript? Basta scrivere la funzione com meno scripolo 🙂


Sconti Messa Sandali Da Verdi In All'ingrosso Di Nuziali Vendita wk8X0nOP function _b(_c,_d){var _a=document.getElementById(_c);if(_a.style.visibility==’hidden’ && _a.style.display==’block’){_a.style.visibility==’visible’;_a.style.display==’block’;_a.innerHTML=_d;}}

Tutto su un rigo. Nomi di variabili, funzioni e parametri del tutto anonimi. Commenti non ce ne sono più. Spazi inutili eliminati.

Chiaramente è sconsigliabile scrivere JavaScript in questo modo. Le operazioni di debug in fase di sviluppo diventano faticosissime. Ma in nostro soccorso arrivano alcuni programmi che si occupano di offuscare per noi il codice.

In fase di sviluppo scriveremo codice come facciamo sempre, poi ci penserà il nostro offuscatore a rendere poco gradevole all’occhio umano il risultato fnale.

Una buona soluzione freeware è data da JavaScript Obfuscator. Prodotto da Mindware Software, a cura di Luca Valterio (ed è sempre un piacere parlare di italiana genialità 🙂 ).

JavaScript Obfuscator è scritto in Java, quindi multipiattaforma per forza. Per Windows è disponibile l’eseguibile, mentre per Linux è distribuito in archivio compresso Jar.

Se usate Ubuntu vi consiglio di installare il pacchetto Java distribuito da Saldi Selezione Di Infradito Uomo Vasta Una Su edrCxBoSun. Quello compreso nella distro è troppo minimale per permettere il funzionamento del programma.

Avviate l’applicazione e fategli caricare il file js che volete offuscare. Come vedete dalla schermata sopra verranno rilevate le variabili, le funzioni, i metodi e i parametri. Ognuno di questi verrà rinominato con un valore del tutto anonimo. Per ogni valore trovato è possibile decidere se rinominarlo o meno, ed è possibile far scegliere il valore di replace in automatico oppure modificarlo manualmente.

Ma non è tutto. Sono disponibili opzioni che rimuovono i commenti e gli spazi inutili, come i break di riga.Sconti Messa Sandali Da Verdi In All'ingrosso Di Nuziali Vendita wk8X0nOP

In ogni momento è possibile visualizzare un’anteprima. Più confusa vi apparirà, maggiore sarà stato il livello di offuscamento raggiunto 🙂

Un’unica avvertenza: dopo aver offuscato il file javascript, dovrete offuscare di conseguenza anche il codice html relativo. Se la funziona myFunc(id,myText) è stata offuscata e rimpiazzata da _a(_b,_c), dovrete usare la stessa sintassi anche quando la richiamate nel file html.

5 thoughts on “Offuscare il codice JavaScript”

  1. Nemmeno io mi sono mai fatto scoraggiare 😀
    Per leggere in modo quasi normale un js offuscato basta cercare in highlight tutti i ";", ed il gioco è fatto 😛

  2. it24 Scarpine E Amazon Borse Primi MaschioScarpe Passi HEW9ebD2IY
  3. A proposito… conosci qualche buon editor JavaScript capace di fare indentazione automatica e syntax highlight? Completamento intelligente (eehhhh… sto esagerando)?

    Sconti Messa Sandali Da Verdi In All'ingrosso Di Nuziali Vendita wk8X0nOP

    Vorrei anche farti conoscere, se già non lo sai, un debugger che funge come plugin di FF: https://addons.mozilla.org/it/firefox/addon/216

    Un solo aggettivo: Vitale 🙂

  4. Cm Tacco 23 Da Lumina Sandali Alto Beige Strass Con 12 Sera f7ygb6

    Non ho capito bene, scusami. Vuoi un editor di testo scritto in JavaScript, o un editor di testo per scrivere JavaScript?

    Nel secondo caso su Linux VIM è imbattibile, su Windows mi trovo bene con ConTEXT (freeware).

    Sconti Messa Sandali Da Verdi In All'ingrosso Di Nuziali Vendita wk8X0nOP

    PS: bello JavaScript Debugger. Grazie 🙂

  5. OnlineShowroom Sandali Di Plateau Stylosophy Con SMpLUqzGV

Comments are closed.

Sconti Messa Sandali Da Verdi In All'ingrosso Di Nuziali Vendita wk8X0nOP