E 'possibile nascondere o scramble / offuscare il codice javascript di una pagina web?

StackOverflow https://stackoverflow.com/questions/734561

  •  09-09-2019
  •  | 
  •  

Domanda

Mi rendo conto che il codice lato client deve essere leggibile dal browser ma mi chiedo (dato che ci sono troppe cose che ignoro), se ci sono modi per offuscare in codice per l'utente finale e, se non ciò che è la migliore pratica al codice javascript "pack".

È stato utile?

Soluzione

E 'buona norma minify tuoi JS con uno strumento come YUI Compressor . Non vorrei offuscare a meno che non si dispone di una specifica esigenza di fare questo. Ci sono un sacco di obfuscators online come questo

Si veda questo articolo: http://developer.yahoo.net/ blog / archives / 2007/07 / high_performanc_8.html

Altri suggerimenti

questo fuori .

Oltre min'ing, io non credo che si può davvero nascondere js. Tutto va il browser dell'utente e ci sono molti modi di vedere una volta che è là.

qui di Javascript Obfuscator libero.

Dato che è infatti possibile, se il motivo che si intende offuscare è quello di proteggere la proprietà intellettuale, probabilmente si sta cercando di trarre valore dal vostro lavoro nel modo sbagliato. E 'abbastanza facile per invertire la confusione, e si sarebbe probabilmente sprecare tempo mantenendo il codice.

Concentrarsi di più su ciò che i servizi che si intende offrire a coloro che visitano il sito come un mezzo per differenziare il tuo sito da parte dei concorrenti

Ci sono strumenti href="https://stackoverflow.com/questions/599911/what-do-you-use-to-minimize-and-compress-javascript-libraries"> che potrebbe essere utilizzato per comprimere codice javaScript e rendere difficile per l'utente finale di comprendere.

Non mettere tutte le informazioni sensibili o personali in javascript.

Passate il vostro tempo su come mantenere i dati su un server sicuro.

Passaggio 1:. Non

Si dovrebbe fare molto per raggiungere qualsiasi livello significativo di offuscamento. Offuscando i nomi da sola non basta, dal momento che tutte le funzioni standard saranno ancora lì (anche se possono essere sepolti in uno strato di alias più brevi / offuscate), e derivanti lo scopo di una particolare funzione è facile una volta che il codice è formattato ben ancora. Chiunque voglia davvero sapere che cosa il vostro codice JS fa ci riesce, e la volontà, non importa quello che fai per prima il proprio browser ottiene una copia di esso.

Se davvero avere i processi di business di valore nella vostra JavaScript, allora si sta facendo male (tm).

Non offuscamento sta per mantenere il vostro codice veramente sicura e potrebbe solo dare la falsa illusione della sicurezza (cfr sicurezza tramite segretezza ).

Se si ha bisogno di mantenere un po 'parte del vostro codice segreto, considerare tirare le parti sensibili in uno script lato server e fare (diciamo) chiamate AJAX allo script. Soprattutto con l'avvento di JSON, comunicare con gli script lato server non è mai stato così facile.

E 'possibile utilizzare i seguenti strumenti:

  • YUI Compressor - richiede Java - molto buon compressore

  • Packer - crea il codice più confuso, e la più piccola, ma gli script non correre veloce come YUI - questo può essere usato in linea però. Seleziona 'Base62 codifica' per ottenere il massimo effetto.

  • Il Dojo compressore non ho mai usato questo, ma è in alto a lista. Si richiede anche Java.

  • JSMin da Douglas Crockford, questo ha un algoritmo molto semplice, ma è ancora buono. Pensato per essere utilizzato in combinazione con JSLint.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top