2010-03-09 15 views
7

¿Tiene sentido obstruir Javascript? Los únicos beneficios claros que puedo ver son ocultar el código (aunque sea de naturaleza no propietaria, ya que es del lado del cliente) de miradas indiscretas y como minimizador ya que a menudo los obstructores de Javascript también minimizan.¿Vale la pena la obstrucción?

+2

Solo si todavía está utilizando las funciones de precarga de imágenes de Dreamweaver :) – RedFilter

Respuesta

9

No creo que JavaScript obfuscation valga la pena el esfuerzo para la ocultación en la mayoría de los escenarios generales. Sin embargo, minificationes vale la pena, por muchas razones, que como mencionó, tiene el menor efecto secundario de ofuscar el código también.

+0

+1 estoy de acuerdo con la minificación, pero en realidad nunca he escrito tanto código por mi cuenta ...si tiene algún tipo de biblioteca de tamaño medio estoy totalmente de acuerdo ... –

1

Bueno, si no es un código javascript de vanguardia que no se debe copiar y reproducir fácilmente, y el script no es demasiado grande en bytes, no me molestaría. Es un poco complicado hacer la ofuscación cada vez que necesita una implementación, y el beneficio es pequeño.

Es decir, el script no es demasiado grande y el código no debe protegerse.

(aunque en realidad no la ofuscación proteger su código, basta con que sea un poco más difícil de entender)

1

He utilizado el generador de YUI, lo encuentro bueno para reducir el tamaño de mi javascript mucho. Entonces, el aspecto de minimización de la ofuscación es muy útil en sí mismo.

En términos de seguridad, supongo que cualquier cosa que pueda hacer para dificultar que el usuario malicioso descubra cómo funciona su dispositivo, mejor le va.

Por último, la mayoría de los obsfuscadores le darán advertencias o errores cuando encuentre javascript mal escritos, y en su conjunto también mejorarán la calidad de su código.

Así que en resumen

Contras: Tienes que correr los Obfuscator

Pros:

  1. Los archivos más pequeños
  2. difícil para los usuarios maliciosos para averiguar cómo funciona su materia.
  3. Javascript de mayor calidad (si escuchas el obsfuscator).
+0

Voy a abrir otra pregunta en SO, porque lo que me gustaría ver es un ISAPI/HttpHandler para IIS 7 que pueda hacer esto todo en uno ir incluyendo minimizar y obscurecer CSS. Gracias. –

1

No creo que valga la pena, porque cualquier persona motivada lo suficiente como para obtener su código todavía puede obtenerlo. En cuanto a minimizar, no me molesto, ya que gzip mitiga la necesidad de eso.

1

Ofuscación es un efecto secundario de minimizar. Sus variables, funciones, etc. se renombran a la longitud más corta posible para ahorrar espacio. De lo contrario, los minimizadores serían simplemente removedores de espacios en blanco.

Aunque definitivamente es posible decir lo que está haciendo su código, incluso si está ofuscado, será mucho más difícil que alguien mire "casualmente" su código.

1

La biblioteca de Dojo tiene un componente llamado ShrinkSafe. Comprimirá su archivo JavaScript y ofuscará el código. De esta forma, puede guardar los originales en algún lugar y luego liberar solo los que se ejecutaron en ShrinkSafe.