2010-10-11 10 views
5

Duplicar posible:
How can I obfuscate JavaScript?¿Cuál es la mejor manera de codificar/proteger un código de JavaScript?

me quieren "proteger" mi código Javascript. ¿Hay alguna manera buena y recomendada que sea muy difícil de hackear?

He probado algunos codificador en la Web y, a veces mi código Javascript no funciona después de la codificación. ¿Es esto normal (el codificador de la cuna es muy malo)? ... ¿o mi código es demasiado malo/con errores?

+4

Juro que esta pregunta se hace todos los días. "¡Oh, no, alguien me robará mi código!" – Marko

Respuesta

7

No se puede evitar que alguien mirando su código Javascript. Es básicamente lo mismo que html de esa manera. Puede hacer que sea muy difícil de descifrar, también conocido como ofuscación, pero realmente no obtienes nada de esto.

Si tiene aplicación código crítico que por cualquier razón se siente es de misión crítica, el diseño de su aplicación web de tal manera que el código "protegido" se ejecuta en el servidor. Comuníquese con el front-end (los navegadores) usando solicitudes xhr que solo transmiten datos de estado hacia adelante y hacia atrás.

+5

Y distribuirlo con los derechos de autor y la licencia correspondiente. – Swanand

0

Puede comprimir su javascript. Yahoo proporciona una herramienta en línea para comprimir su archivo. También es compatible con el reemplazo de variables, es decir, para reemplazar el nombre de la función lógica, el nombre de la variable por a, b, c, etc., para proteger su lógica comercial del lado del cliente.

http://refresh-sf.com/yui/

+2

Esto no protege nada. Si su JavaScript va a funcionar en una página web, su fuente debe hacerse visible de manera simple. Cuatro respuestas a esta pregunta y la única incorrecta es elegida ... suspiro ... – ubiquibacon

0

No se puede "proteger" el JavaScript, ya que es el lado del cliente, lo mejor que puede hacer es verificar cualquier lado del servidor de entrada del usuario para asegurarse de que los usuarios no se ha inyectado cualquier código malicioso o intento de cualquier forma de XSS (Cross Site Scripting). Es muy importante verificar el lado del servidor, especialmente dado que una persona podría inyectar código en un sitio mal hecho con nada más que FireBug. Básicamente, debe asegurarse de nunca escribir una secuencia de regreso que el usuario haya ingresado hasta que esa cadena haya sido codificada. La seguridad es mucho más que codificar secuencias de usuario, pero eso soluciona muchos problemas de seguridad por sí mismo.

+1

Por "proteger" creo que quiere decir que es difícil robar el código. (edit) Oh no, ahora veo la palabra 'hack'. Lo siento, entonces tu respuesta es correcta. –

3

esto no es posible, ya que el navegador tiene que entender que su Javascript cuando llega, por lo tanto, un ser humano puede entenderlo también.

Para hacer que nuestra aplicación web sea más eficiente, decidimos comprimir (YUI para JS y CSS) y poner todos los recursos principales en la página HTML en línea (HTML, CSS y JS), lo hace automáticamente durante la implementación.

Como un resultado inesperado, si ve la fuente de nuestra aplicación, se obtiene una cadena de 250 kb ~ bastante ilegible.
Esto no detendrá al tipo que realmente quiere obtener su código, pero desalentará a muchos.

Cuestiones relacionadas