Foro sobre Java EE > Hardcoding in JavaScript
Estimado, ¿que tal?
Cual es problema con que se conozca la URL final a donde se consultan los datos?
Si tu aplicación esta asegurada (autenticación y autorización) de forma correcta por mas que se conozca la URL no se va a poder consumir el servicio sin los permisos adecuados.
Podes poner algún servicio de redirección en el medio y que tu app apunte a este servicio y este redireccione a la verdadera url. Ahora, sin autorización y autenticación vas a tener el mismo problema porque desde el cliente siempre se va a conocer la URL a la cual se esta invocando el servicio (aunque esta no sea la URL real).
Saludos.
Otra aclaración, ofuscar el código no solucionas nada, porque con alguna herramienta de debug del lado del cliente (firebug, etc.) podes ver el request y obviamente la URL destino.
En mi opinión la solución al "problema" no pasa por ocultar la url de consulta (ya que desde el cliente siempre es posible saber a donde se hizo el request) sino por asegurar correctamente los servicios.
Saludos.
Hola @jlarrayoz, gracias por responder.
La consulta era básicamente por conocer alternativas para la seguridad del lado del cliente con la finalidad de minimizar riesgos de seguridad. Definitivamente se implementará seguridad del lado del servidor pero la consulta era más por prácticas de seguridad del lado del cliente para las "aplicaciones Front-end (javascript) + Back-end (java)".
Saludos.
Hola,
En la empresa donde trabajo quieren migrar la interfaz de usuario de una aplicación de java (librerias de etiquetas) a javascript (alguna librería como angular, jquery, etc; aunque aún no se ha definido). La idea es programar la interfaz de usuario usando los componentes que ofrecen las librerias JavaSript y solicitar los datos vía ajax al servidor (java).
Todo bien con la idea, el problema es que se hace necesario incluir la ruta completa de las URLs de donde se optienen los datos en el código JavaScript, si el JavaScript estaría en la página JSP se podría usar la librería de etiquetas (sólo para eso) para usar una URL relativa pero al haber mucho código JavaScript es necesario incluir dicho código en archivos .js
Mi consulta es ¿hay forma de evitar usar "código duro" para las URLs de las peticiones ajax desde ficheros .js? En un foro sobre angular he visto comentarios sobre incluir un "servicio" de configuración para generar las rutas pero igual al ser JavaScript podría acceder a esa información desde el navegador y la idea es evitar que se pueda conocer dichas rutas de obtención de datos vía ajax.
Se han pensado soluciones del lado del servidor como validar que exista sesión activa antes de enviar los datos, pero esto no impide que desde los ficheros javascript se pueda deducir las URLs de petición de datos.
¿Hay forma de solucionar este problema que creo que es general para todas las aplicaciones "Front-end (javascript) + Back-end (java)" o sólo queda tratar de manipular/ofuscar los ficheros .js para minimizar riesgos?
Cualquier idea/ayuda es bienvenida.
Saludos.