MyException - 我的异常网
当前位置:我的异常网» J2EE » 防止用户在地址栏瞎敲解决方案

防止用户在地址栏瞎敲解决方案

www.MyException.Cn  网友分享于:2015-08-26  浏览:84次
防止用户在地址栏瞎敲
现在有个web工程, 目录下有web/admin/video 三等目录
 
 防止用户在地址栏敲入http://localhost:8080/web/admin 看到所有admin目录下的所有jsp页面

 请问怎么办好?

------解决方案--------------------
在项目web.xml中配置欢迎列表
<!-- The Usual Welcome File List -->
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>

在 程序的页面中

String type = (String)session.getAttribute("suType");

if(type==null){
response.sendRedirect("/netcom/login.jsp");
}


这个方法有点古老的。
------解决方案--------------------
admin里面的内容都是固定的用户才能访问的
你可以先设置session,如果有用户登陆,就把用户信息录入到session中
如果没有用户登陆,那session就为空。
然后再判断session的值,如果是管理员账户信息,则允许进入admin目录,如果session为空或者用户信息不为管理员信息,则强制跳转到一个自定义的错误页面
------解决方案--------------------
给你贴代码,你自己看吧,建议看看filter的东西
Java code

import java.io.IOException;
import java.io.PrintWriter;

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.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class LogonFilter implements Filter {

    private static final String LOGON_URI = "LOGON_URI";

    private static final String HOME_URI = "HOME_URI";

    private String logon_page;

    private String home_page;

    public void destroy() {
        // TODO Auto-generated method stub
    }

    public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain) throws IOException, ServletException {
        // TODO Auto-generated method stub
        HttpServletRequest httpReq = (HttpServletRequest) request;
        HttpServletResponse httpResp = (HttpServletResponse) response;
        httpResp.setContentType("text/html");
        httpResp.setCharacterEncoding("utf-8");
        HttpSession session = httpReq.getSession();
        PrintWriter out = httpResp.getWriter();
        // 得到用户请求的URI
        String request_uri = httpReq.getRequestURI();
        // 得到web应用程序的上下文路径
        String ctxPath = httpReq.getContextPath();
        // 去除上下文路径,得到剩余部分的路径
        String uri = request_uri.substring(ctxPath.length());
        // 判断用户访问的是否是登录页面
        if (uri.equals(logon_page) || uri.equals(home_page)) {
            chain.doFilter(request, response);
            return;
        } else {
            // 如果访问的不是登录页面,则判断用户是否已经登录
            if (session.getAttribute("user") != "" && session.getAttribute("user") != null) {
                chain.doFilter(request, response);
                return;
            } else {
                out.println("<script language=\"javaScript\">"
                                + "parent.location.href='"+ctxPath+logon_page+"'" 
                                + "</script>");
                //httpReq.getRequestDispatcher(logon_page).forward(httpReq,httpResp);
                return;
            }
        }
    }

    public void init(FilterConfig config) throws ServletException {
        // TODO Auto-generated method stub
        // 从部署描述符中获取登录页面和首页的URI
        logon_page = config.getInitParameter(LOGON_URI);
        home_page = config.getInitParameter(HOME_URI);
        // System.out.println(logon_page);
        if (null == logon_page || null == home_page) {
            throw new ServletException("没有找到登录页面或主页");
        }
    }

}

------解决方案--------------------
啥跟啥啊! tomcat 自己有配置防范这个
请教大大们,怎样防止TomCat暴露服务器路径? 文件列表

文章评论

程序员和编码员之间的区别
程序员和编码员之间的区别
Java程序员必看电影
Java程序员必看电影
漫画:程序员的工作
漫画:程序员的工作
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
我的丈夫是个程序员
我的丈夫是个程序员
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
 程序员的样子
程序员的样子
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
程序员必看的十大电影
程序员必看的十大电影
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
10个调试和排错的小建议
10个调试和排错的小建议
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
程序员都该阅读的书
程序员都该阅读的书
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
老程序员的下场
老程序员的下场
程序员应该关注的一些事儿
程序员应该关注的一些事儿
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
为什么程序员都是夜猫子
为什么程序员都是夜猫子
旅行,写作,编程
旅行,写作,编程
中美印日四国程序员比较
中美印日四国程序员比较
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
总结2014中国互联网十大段子
总结2014中国互联网十大段子
代码女神横空出世
代码女神横空出世
编程语言是女人
编程语言是女人
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
我是如何打败拖延症的
我是如何打败拖延症的
程序员的鄙视链
程序员的鄙视链
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有