¿Es posible ocultar el código Javascript del html de una página web, cuando el código fuente se visualiza a través de la función Ver código fuente de los navegadores?
Sé que es posible ofuscar el código, pero preferiría que esté oculto en la función de ver fuente.
javascript
browser
hide
obfuscation
arun nair
fuente
fuente
Respuestas:
No estoy seguro de que alguien más haya abordado su pregunta directamente, que es el código que se ve desde el comando Ver código fuente del navegador.
Como han dicho otros, no hay forma de proteger javascript destinado a ejecutarse en un navegador de un visor determinado. Si el navegador puede ejecutarlo, cualquier persona determinada puede verlo / ejecutarlo también.
Pero, si coloca su javascript en un archivo javascript externo que se incluye con:
<script type="text/javascript" src="http://mydomain.com/xxxx.js"></script>
etiquetas, entonces el código javascript no será inmediatamente visible con el comando Ver código fuente, solo la etiqueta de secuencia de comandos en sí será visible de esa manera. Eso no significa que alguien no pueda simplemente cargar ese archivo javascript externo para verlo, pero sí preguntó cómo mantenerlo fuera del comando Ver código fuente del navegador y esto lo hará.
Si realmente quisiera hacer más trabajo para ver la fuente, haría todo lo siguiente:
Con todo lo dicho, creo que debería centrarse en el rendimiento, la fiabilidad y hacer que su aplicación sea excelente. Si es absolutamente necesario proteger algún algoritmo, colóquelo en el servidor, pero aparte de eso, compita por ser el mejor en lo que hace, no por tener secretos. En última instancia, así es como funciona el éxito en la web.
fuente
<script>
lo mantendría mejor fuera de la Vista Fuente (aún visible bajo el DOM en vivo) - es decir, no se puede simplemente "hacer clic con el botón derecho" en la Vista Fuente. Es posible que dicho<script>
elemento se elimine una vez que se ejecuta JavaScript, lo que hace que sea un poco más engorroso (pero no imposible) obtener el código original ... por supuesto, el tráfico de la red se mostrará muy fácilmente en Firebug o similar ;-)No, no es posible.
Si no se lo da al navegador, entonces el navegador no lo tiene.
Si lo hace, entonces (o una referencia fácil de seguir) forma parte de la fuente.
fuente
Mi solución está inspirada en el último comentario. Este es el código de invisible.html
El código claro de invisible_debut.js es:
Observe que al final estoy eliminando el script creado. invisible.js es:
invisible.js no aparece en la consola, porque ha sido eliminado y nunca en el código fuente porque fue creado por javascript.
En cuanto a invisible_debut.js, lo ofusqué, lo que significa que es muy complicado encontrar la URL de invisible.js. No es perfecto, pero es bastante difícil para un hacker normal.
fuente
invisible.js
en fuentes. Versión de Chrome 34.0.1847.131 mUse Html Encrypter La parte del encabezado que tiene
CIFRADOR HTML Nota: si tiene un script java en su página, intente exportar a un archivo .js y haga que sea como en el ejemplo anterior.
Y además, este cifrador no siempre funciona en algún código que hará que su sitio web se arruine ... Seleccione la mejor parte que desea ocultar como, por ejemplo, en
<form> </form>
Esto puede ser revertido por un usuario avanzado, pero no todos los novatos como yo lo saben.
Espero que esto ayude
fuente
No estoy seguro de que haya una forma de ocultar esa información. No importa lo que haga para ofuscar u ocultar lo que esté haciendo en JavaScript, todo se reduce al hecho de que su navegador necesita cargarlo para poder usarlo. Los navegadores modernos tienen herramientas de depuración / análisis web listas F12para usar que hacen que la extracción y visualización de scripts sea trivial (solo presione en Chrome, por ejemplo).
Si le preocupa exponer algún tipo de secreto comercial o algoritmo, entonces su único recurso es encapsular esa lógica en una llamada de servicio web y hacer que su página invoque esa funcionalidad a través de AJAX.
fuente
'¡No es posible!'
Oh sí lo es ....
fuente
Creo que encontré una solución para ocultar ciertos códigos JavaScript en la fuente de vista del navegador. Pero tienes que usar jQuery para hacer esto.
Por ejemplo:
En su index.php
Carga un archivo en el cuerpo html / php llamado por una función jquery en el archivo js.js.
js.js
Aquí está el truco.
En su archivo content.php, coloque otra etiqueta principal y luego llame a otro archivo js desde allí.
content.php
en el archivo js2.js cree cualquier función que desee.
ejemplo:
js2.js
content2.php
Siga el enlace y luego cópielo y péguelo en el nombre de archivo de jquery.js
http://dl.dropbox.com/u/36557803/jquery.js
Espero que esto ayude.
fuente
Podrías usar
document.write
.Sin jQuery
O con jQuery
fuente
¡No es posible!
La única forma es ofuscar javascript o minimizar su javascript, lo que dificulta que el usuario final realice ingeniería inversa. sin embargo, no es imposible realizar ingeniería inversa.
fuente
Enfoque que usé hace algunos años -
Necesitamos un archivo jsp, un archivo Java de servlet y un archivo Java de filtro.
Dar acceso al archivo jsp al usuario. URL del tipo de usuario del archivo jsp.
Caso 1 -
Usando Printwriter, mostrará la respuesta al usuario.
Mientras tanto, Servlet creará un archivo de claves.
Cuando el servlet intente ejecutar el archivo xxxx.js dentro de él, el filtro
se activará y detectará que el archivo clave existe y, por lo tanto, eliminará el
archivo clave .
Por tanto, un ciclo ha terminado.
En resumen, el servidor creará el archivo de claves y el filtro lo eliminará de inmediato.
Esto sucederá con cada golpe.
Caso 2 -
En lugar de la creación de archivos, se puede usar el valor de configuración en la variable de sesión.
fuente