Estoy usando struts 1.3 para mi aplicación y todas las páginas jsp se envían a través del controlador (clase de acción). Pero si accedo directamente a la página jsp, puedo acceder a ella. ¿Cómo evito esto?Denegando el acceso directo a las páginas jsp
Respuesta
poner todo su jsp-s dentro de la carpeta WEB-INF (por ejemplo en la carpeta/JSP WEB-INF) y no se olvide de cambiar su asignación respecto a la ubicación de jsp- s.
Puede utilizar filtros y restringir la solicitud con el URL que piden páginas .jsp y sólo permite peticiones que piden .do
filtros se utilizan para evitar o interrumpir las solicitudes, a fin de utilizar los filtros para restringir el solicitud, si no contiene .do en url. A continuación se muestra el buen tutorial para los filtros
Creo que la mejor opción sería la de poner sus páginas web en la carpeta WEB-INF - de esa manera no será accesible directamente pero luego en sus servlets puede tener algo como:
public class ControllerServlet extends HttpServlet {
/**
* Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String userPath = request.getServletPath();
// if category page is requested
if (userPath.equals("/category")) {
// TODO: Implement category request
// if cart page is requested
} else if (userPath.equals("/viewCart")) {
// TODO: Implement cart page request
userPath = "/cart";
// if checkout page is requested
} else if (userPath.equals("/checkout")) {
// TODO: Implement checkout page request
// if user switches language
} else if (userPath.equals("/chooseLanguage")) {
// TODO: Implement language request
}
// use RequestDispatcher to forward request internally
String url = "/WEB-INF/view" + userPath + ".jsp";
try {
request.getRequestDispatcher(url).forward(request, response);
} catch (Exception ex) {
ex.printStackTrace();
}
}
Tomado de: http://netbeans.org/kb/docs/javaee/ecommerce/page-views-controller.html
- 1. Restringir el acceso directo a las páginas de error
- 2. ¿Cómo protegerse contra el acceso directo a las imágenes?
- 3. Sublime Text 2, JSP oculta comentario acceso directo
- 4. Variables en páginas jsp con páginas "incluidas"
- 5. acceso directo resangrar en el texto sublime
- 6. Impedir el acceso directo a una página PHP
- 7. Ocultar la página JSP del acceso directo, pero ¿cómo se accede a la página objetivo?
- 8. JSP: el acceso de enumeración dentro de las etiquetas JSP EL
- 9. ReSharper acceso directo string.format
- 10. Acceso directo a memoria en Linux
- 11. Localizar en solución acceso directo a ReSharper
- 12. Acceso directo a los problemas JNLP
- 13. Acceso directo a linux framebuffer - copyarea
- 14. Restringir Acceso Directo a archivo llamado por el Ajax Función
- 15. Teclas de acceso directo Resharper
- 16. ¿Cómo se puede secuenciar scala directamente en las páginas JSP?
- 17. ¿Cómo configuro AppUserModelID en el acceso directo?
- 18. Acceso de cliente directo SimpleDB
- 19. Crear acceso directo en el escritorio C#
- 20. ¿Por qué necesitamos DOCTYPE para las páginas HTML/JSP?
- 21. denegar el acceso directo a presentar en S3
- 22. Feed prestados páginas jsp a través de htmltidy
- 23. Acceso directo nulo en Delphi
- 24. tomcat denegar el acceso a archivos específicos
- 25. primavera - Acceso frijol en JSP
- 26. ¿Cómo restrinjo el acceso a ciertas páginas en ASP.NET MVC?
- 27. Acceso directo a eventos de teclado en OSX
- 28. Tomcat intermitente ClassNotFoundException para algunas páginas jsp
- 29. (htaccess) ¿Cómo prevenir un archivo de ACCESO DIRECTO a URL?
- 30. Acceso directo a Eclipse para ejecutar archivos de inicio
+1 - El ocultamiento de WEB-INF es el método más comúnmente utilizado. Si lee documentos y ejemplos, a menudo usan esta configuración. – pap