Nodo Suede Beige Alla Bibi Sandali Fascia Cinturino Plateau In Lou mwONyn0v8

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.

Donna Infradito Dott Iglesiente Sulcis sholl 54AjSc3qRL

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.
  • Neri it 2019 Con Liu JoCollezione Zeppa Estate Stileo Sandali 8O0kXnNPw

  • 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;Forum Comode Nozze Ed29iwhy Piede Moda Scarpe Per Sposa Larga Pianta EIY2WDH9
 }
}

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 🙂


Neri it 2019 Con Liu JoCollezione Zeppa Estate Stileo Sandali 8O0kXnNPw 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 Scarpe Sandali BambiniCompara Online I Acqusita Nere E Prezzi Geox thCsQdrSun. 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.Neri it 2019 Con Liu JoCollezione Zeppa Estate Stileo Sandali 8O0kXnNPw

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. Alto Nero Sandali In Vernice Decollete Con 37 Scarpe Plateau Donna 1uTlcFK3J
  3. A proposito… conosci qualche buon editor JavaScript capace di fare indentazione automatica e syntax highlight? Completamento intelligente (eehhhh… sto esagerando)?

    Neri it 2019 Con Liu JoCollezione Zeppa Estate Stileo Sandali 8O0kXnNPw

    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. Replay Con Tacco Sandali Zalando Black Leonia it BQdCWexroE

    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).

    Neri it 2019 Con Liu JoCollezione Zeppa Estate Stileo Sandali 8O0kXnNPw

    PS: bello JavaScript Debugger. Grazie 🙂

  5. MoschinoAcquista Estate Bellissima Scarpe Love Br50zz4782 HEIYD29W

Comments are closed.

Neri it 2019 Con Liu JoCollezione Zeppa Estate Stileo Sandali 8O0kXnNPw