Cuando no está trabajando solo para la mayoría de los desarrolladores llega el momento de encontrar una guía en la escritura del código. Protocolos y normas que permitan "leer" fácilmente e intervenir (más fácilmente) en el código de los demás.
Cuando trabajamos en un proyecto más programadores, a menudo de diferentes idiomas, debe encontrar una forma común de la escritura, en la documentación interna y externa estándar para el código. En mi trabajo estoy normalmente cooperar con:
- Objetive-C, C / C + +
- PHP
- HTML
- Javascript
- Actionscript
- CSS
Continuación ...
He aquí una nueva e interesante herramienta para la compresión y el oscurecimiento de código Javascript (véase también Ingeniería inversa: los compresores de código ).
En el sitio Web de Dean Edwards también puede descargar el código fuente de este compresor de Javascript. Además, el autor ha puesto a disposición las versiones de servidor de Microsoft. NET Framework versión 1.1, Perl, WHS y PHP5.
En línea hay una versión de trabajo probarlo ahora , menos complejo - para ser honesto - de los que habían presentado hace mucho tiempo . De hecho le permite comprimir el código con sólo dos opciones: Base62 codificar, que oscurece el código y las variables del encogimiento, las variables del optimizador.
En comparación con la anterior versión corrige algunos errores que, en situaciones de extrema truco (y muy interesante) como:
1
| /*@cc_on!@*/ false ; isMSIE var = / * @ cc_on @ * / falso!; |
no cumplió con la salida generada. Ahora se soportan correctamente tanto los comentarios condicionales a Microsoft, tanto en el + / - en condiciones tales como:
Como se señala en la página de ayuda , sin embargo:
Almuerzos para secuencias de comandos deberían desempaquetar correctamente en todos los navegadores que soportan JavaScript. Sólo funcionalidad básica JavaScript se utiliza para decodificar la secuencia de comandos para llevar.
Algunos navegadores no soportan la propia empacadora. La estancia interfaz web conectada soporte DOM. Navegadores antiguos mostrarán interfaz desactivada.
Así, la atención al usuario final y el tipo de soporte de los navegadores ... como siempre!
Continuación ...
Un tema descuidado en el contexto de la Web 2.0 es la protección del código fuente. Con el fin de Open Source, donde la Web 2.0 está en fase beta de su más alta expresión, compartir y participar en la comunidad sin duda deja en las cuestiones de fondo relacionadas con la protección del código fuente. Recordemos que los scripts se descargan Javascript en el navegador desde el servidor Web, tales como archivos de texto, a continuación, totalmente visibles para el usuario final.
Mientras el servidor de códigos está protegido por definición (es imposible acceder al código de una página PHP a través del navegador HTTP, a excepción de los raros casos de mal funcionamiento, no hay servidor web), el código de cliente puede estar sujeto a una ingeniería inversa.
Sin embargo, existe una protección sencilla diseñada, desde sus inicios, a dimuire el tamaño de la secuencia de comandos JavaScript, marco hoy llega a ser verdad en algunos casos.
Hay en aplicaciones de datos y sitios web que le permiten comprimir (crisis) el código Javascript, pero no sólo. Esta característica, de diferentes maneras, también puede ser aplicado a HTML y hojas de estilo en cascada. El código JavaScript, en particular, además de ser comprimida se puede ocultar, obteniendo de este modo un código de protección (en vista) como para hacer que el procedimiento de ingeniería inversa más articulada.
Diferencias entre HTML, CSS y Javascript son importantes y sustanciales. Aunque la compresión de páginas HTML y hojas de estilo sólo puede actuar sobre la Eliminación de caracteres redundantes o innecesarios, como "cabeza", "espacios dobles", etc ..., JavaScript es un lenguaje de programación que puede realizar un código especial descomprimir sí mismo.
JavascriptCompressor.com es un servicio gratuito que se puede utilizar en línea, que le permite comprimir un código fuente Javascript. Las opciones hacen que sea extremadamente versátil, garantizando al mismo tiempo el oscurecimiento del código.
Por ejemplo, el código de inicio:
1 2 3
| MyFunction function () { "Hello World" ) ; alert ("Hola Mundo"); } |
Código de compresión simple:
1
| alert ( "Hello World" ) } MyFunction function () {alert ("Hola Mundo")} |
Codificación estándar:
1
| 5 , 5 , 'World|Hello|alert|MyFunction|function' . split ( '|' ) ) ) 3 () 2 {("1 0")} ', 5, 5,' World | Hola | Alertas | MyFunction | Función '. Split (' | '))) |
Obviamente, esto es un ejemplo, con códigos pequeños comprimen en realidad no tiene mucho sentido, corre el riesgo de empeorar las cosas y justo (a menos que sólo está interesado en ocultar la vista de código).
MemTronic Cruncher Compressor es también un servicio en línea (como el trabajo anterior en el modo fuera de línea) parcialmente libres, en el sentido de que algunas funciones sólo están disponibles en la versión de pago (como la función Obfuscade). En comparación con el servicio precedende debería ofrecer un mayor rendimiento y seguridad encripta el código. Yo las utilizo indistintamente, según el caso.
Peterbe.com no le permite comprimir JavaScript (menos espacios elimando y 'cabeza'), pero propone un compresor para HTML, CSS y XHTML. Yo, por ejemplo, lo uso para comprimir las hojas de estilos.
A menos que utilice algoritmos especiales de crujido, pero que le pesan al tratamiento de datos, siempre se puede realizar una ingeniería inversa del código, que también comprime. O bien, tarde o temprano, de hecho, el código original debe ser enviada a la intérprete del navegador, que reconoce que (por ahora) sólo en el claro. En el futuro, con las nuevas versiones del navegador, este obstáculo puede ser superado. Sería ventajoso si se aplicara, en el navegador, puede aceptar una tecnología de código Javascript binarios pre-compilados por ejemplo (si algo encriptado ). De esta manera, la agitación en los tiempos de descarga de las secuencias de comandos, lo que permite una protección natural contra la ingeniería inversa y, no menos importante, un mejor rendimiento en cuanto a la ejecución del script.
Continuación ...
Últimos Comentarios
Giovambattista Fazioli : @ ale: Como se muestra @ Kevin ver en GitHub repo: https://github.com/gfazioli/Ch roma-Key
Giovambattista Fazioli : @ Kevin: Ver https://github.com/gfazioli/Ch roma-Key
Kevin : Muy buen ejemplo - le gustaría ver el fla también.!
Ludovica : Hello! Voy a explicar mi duda. Cuando escribo un post no añadir imágenes en el artículo (si es así ...
Marco : hola @ Giovan Battista Fazioli, da las gracias por todas las explicaciones de esta guía excelente. Tengo una pregunta para ...