跳过登陆页面直接访问该jsp文件了,这样不好,请问大家如何避免这种问题?
2013-01-17 15:49
447 查看
原文:http://zhidao.baidu.com/question/68705585
满意回答
2008-09-18 13:45
百度知道问题:
jsp安全性问题,当别人知道某个jsp文件的网址后就可以跳过登陆页面直接访问该jsp文件了,这样不好,请问大家如何避免这种问题?
问题补充:
比如我有两个jsp文件一个是login.jsp 另一个是product.jsp我就是想在ie中不能直接访问到product,只能先登陆在访问product,如何用过滤器实现?希望有代码
满意回答
2008-09-18 13:45
用session。 一般用户登陆信息都存在session中。 我给2中解决方式 (1)如果需要登陆验证才能访问的页面少的话可以通过include文件方式。 把下面代码保存文件名字为checksession.jsp <%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%> <% if(session.getAttribute("userinfo")==null){ //用户没有登陆 response.sendRedirect("/login.jsp"); } %> //把需要登陆才能访问的页面中包含这个文件。 (2)如果需要登陆验证的页面多的话建议采用filter. package com.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; /* *TestFilter 在web.xml中配置说明 * *<filter> * <filter-name>TestFilter</filter-name> * <filter-class>com.filter.TestFilter</filter-class> * </filter> *配置需要经过login.jsp登陆过才能访问的区域 *目前配置方式仅仅是在用户访问product.jsp的时候才走过滤器,可以配置/*,/user/*等。 * <filter-mapping> * <filter-name>TestFilter</filter-name> * <url-pattern>/product.jsp</url-pattern> * </filter-mapping> * 韩卫召 */ public class TestFilter implements Filter { public void destroy() { //过滤器销毁,一般是释放资源 } /** * 韩卫召 * 某些url需要登陆才能访问(session验证过滤器) */ public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException { HttpServletRequest request=(HttpServletRequest)arg0; HttpServletResponse response=(HttpServletResponse)arg1; HttpSession session=request.getSession(); //userinfo,需要通过login.jsp 登陆后向session中写入用户信息,标示用户已经登陆 if(session.getAttribute("userinfo")==null){ String errors = "请先登陆,再访问此服务!"; request.setAttribute("errors", errors); request.getRequestDispatcher("/login.jsp").forward(request, response); }else{ arg2.doFilter(request, response); } } public void init(FilterConfig arg0) throws ServletException { //初始化操作,读取web.xml中过滤器配置的初始化参数,满足你提的要求不用此方法 } }
相关文章推荐
- 跳过登陆页面直接访问该jsp文件了,这样不好,请问大家如何避免这种问题?
- 关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件
- 关于jsp页面是放在webroot目录下和web-inf下优缺点/(如何访问WebRoot中的CSS和JS文件)
- 关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件(转)
- 关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件
- 关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件
- Eclipse中新建jsp文件访问页面时乱码问题
- struts 中如何访问资源文件,JSP页面中如何实现国际化显示
- 如何在我自己的web 项目的jsp页面中添加链接,直接让别人通过内网在我的电脑上下载文件
- 关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件
- 如何解决在jsp页面上导入.xls文件报错问题
- 记录-springMVC访问web-inf下文件问题+在jsp页面导入jquery插件路径不对问题
- 如何解决在jsp页面上导入.xls文件报错问题
- 关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件
- 在spring中如何直接访问在/WEB-INFO/ 下的 jsp页面
- jsp页面java+js实现文件下载(并附带解决下载文件名乱码问题-火狐浏览器正常访问)
- 关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件
- jsp页面 java 文件下载设置禁止IE直接打开配置问题
- Struts2实现文件上传,直接访问JSP页面出现异常
- 关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件