`
xw11235
  • 浏览: 15539 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

jsp filter防止非法进入

阅读更多
package com.tongtech.bjvsp.sysmng.filter;

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 com.tongtech.bjvsp.sysmng.constant.ConstantServlet;

public class EncodingFilter extends HttpServlet implements Filter {
private FilterConfig filterConfig;

// Handle the passed-in FilterConfig
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
}

// Process the request/response pair
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) {
try {

HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
boolean isValid = true;
String uriStr = httpRequest.getRequestURI();
if (uriStr.indexOf(".jsp") == -1 && uriStr.indexOf(".do") == -1) {
isValid = true;
} else if (uriStr.indexOf("login.jsp") == -1 && uriStr.indexOf("login.do") == -1
&& httpRequest.getSession().getAttribute("UserWraper") == null) {
isValid = false;
}

if (isValid) {
request.setCharacterEncoding("GBK");
filterChain.doFilter(request, response);
}

else {
request.setCharacterEncoding("GBK");
PrintWriter out = httpResponse.getWriter();
if( uriStr.indexOf("index.jsp") == -1 ) {
out.write("<script>window.parent.parent.location.href='../../login.jsp'</script>");
} else {
out.write("<script>window.parent.parent.location.href='../login.jsp'</script>");
}

}

} catch (ServletException sx) {
filterConfig.getServletContext().log(sx.getMessage());
} catch (IOException iox) {
filterConfig.getServletContext().log(iox.getMessage());
}
}

// Clean up resources
public void destroy() {
}
}
分享到:
评论
2 楼 tenstars 2010-11-15  
学习了!谢谢你。
1 楼 cfan_haifeng 2008-12-12  
收益了,谢谢

相关推荐

    jsp字符过滤器

    JSP过滤器是基于Servlet规范的Filter接口实现的,它可以拦截请求,对请求和响应进行预处理或后处理。在`web.xml`配置文件中,我们定义一个filter和filter-mapping,指定过滤器的类和需要拦截的URL模式。 ```xml ...

    jsp 过滤器中文乱码的处理

    通过这种方式,过滤器不仅可以解决中文乱码问题,还可以作为预防性措施,防止不安全的数据进入系统。 总结来说,JSP中的中文乱码问题可以通过设定请求的字符编码来解决,而过滤器提供了一种全局、高效的方式来处理...

    JSP实例:日记九宫格

    7. **数据校验与异常处理**:在用户提交数据时,可能会进行输入验证,防止非法数据进入系统。同时,项目应有良好的异常处理机制,当出现错误时能给出友好提示,保证系统的稳定运行。 8. **部署与运行**:项目通常会...

    基于Jsp+Tomcat+Filter+Servlet的学生管理系统.zip

    5. **权限控制**:通过Filter实现不同角色对系统的访问权限限制,保护敏感信息不被非法访问。 6. **异常处理**:为防止程序运行时出现错误,需要设置全局异常处理,保证系统稳定运行。 项目中的"Graduation Design...

    S04-tomcat之Filter内存马1

    以下是一个简单的JSP页面,展示了如何使用JSP创建Filter内存马。虽然实际操作中可能涉及到更复杂的反射和安全绕过,但这个例子能说明基本思路: ```jsp ; charset=UTF-8" pageEncoding="UTF-8"%&gt; ...

    JSP使用过滤器防止Xss漏洞

    本文将详细介绍如何使用过滤器(Filter)在JSP中有效地防止XSS攻击。 首先,我们需要了解XSS攻击的基本原理。当用户在Web表单中输入数据,这些数据未经适当的验证和编码直接显示在页面上时,攻击者可以通过注入恶意...

    jsp暴源代码工具,让你有超爽的感觉

    2. **使用Filter**:编写或使用现成的Servlet Filter,阻止对.jsp文件的直接访问。 3. **使用MIME类型**:设置JSP文件的MIME类型为`application/x-java-jsp`或`application/octet-stream`,防止浏览器试图解析它们。...

    Jsp考试系统

    7. **安全与权限控制**:为保证系统的安全性,需要实施权限控制,如防止非法用户访问试题库,保护用户隐私等。这可以通过JSP的内置对象`request`、`session`和`application`,结合Servlet的过滤器(Filter)实现。 ...

    JSP订单管理系统(JSP+SQL Server)

    4. **预编译语句**:使用PreparedStatement防止SQL注入,提高效率,例如`PreparedStatement pstmt = conn.prepareStatement("INSERT INTO Orders (order_id, customer_id) VALUES (?, ?)")`。 **三、订单管理功能**...

    java中的filter

    - **数据校验**:检查请求参数的有效性,防止非法输入。 - **安全控制**:限制对某些资源的访问,比如实现登录检查。 - **字符编码转换**:确保请求和响应的编码一致,避免乱码问题。 - **性能优化**:如GZIP...

    jsp防止跨域提交数据的具体实现.docx

    ### jsp防止跨域提交数据的具体实现 #### 概述 跨域问题一直是Web开发中的一个常见问题。当用户浏览器发起请求时,由于同源策略的限制,不同域名下的资源不能互相访问。为了保证网站安全,JSP项目也需要考虑如何...

    结合struts2编写的通用过滤器filter

    在这个框架中,过滤器(Filter)扮演着关键角色,它们负责在请求到达实际处理之前进行预处理,或者在响应发送给客户端之后进行后处理。本示例中的“通用过滤器filter”是专门为Struts2设计的,用于增强应用的安全性...

    bank.zip_jsp bank_jsp银行_银行 java_银行jsp

    - 在JSP中,可以通过过滤器(Filter)和会话管理来限制非法访问和保护敏感信息。 6. **项目结构** - 一个典型的银行系统项目可能包含多个JSP文件,分别对应不同的页面(如登录、注册、账户详情、转账等)。 - ...

    关于JSP防范SQL注入攻击

    通过以上介绍,我们可以看到,在JSP开发过程中采取合适的措施可以有效地防止SQL注入攻击。其中最重要的是使用预编译语句,其次是做好输入验证和数据过滤。此外,合理的数据库权限设置也是必不可少的一环。只有全方位...

    验证非法登录.txt

    一种常见的实现非法登录验证的方法是在Web应用中设置过滤器(Filter)。通过配置特定的过滤器,可以在请求到达目标资源之前进行检查,判断当前用户是否已经经过认证。如果未经过认证,则重定向到登录页面或其他指定...

    jsp在线投票系统 jsp在线投票系统

    4. 权限控制:验证用户身份,防止非法投票和重复投票。 5. 系统管理:后台管理界面,供管理员添加、修改投票主题,查看投票详情等。 五、安全性与优化 - 使用HTTPS协议保障数据传输安全。 - 对用户输入进行校验,...

    jsp有关用到的jar包.rar

    4. **Captcha组件**:`jcaptcha组件jar包`可能指的是JCaptcha,一个开源的验证码库,用于防止自动化的机器人或者恶意软件对网站进行非法操作。它生成和验证随机图像验证码,以确保用户是人类。 5. **其他实用工具库...

    JSP毕业设计-JSP考试管理系统(源代码+论文).zip

    安全性方面,系统可能采用了session和cookie来管理用户的登录状态,防止非法访问。同时,对于敏感操作如修改密码、删除数据等,通常会采用验证码或二次确认机制来增加安全性。 此外,系统可能还包含了错误处理和...

    JSP目录直读程序-jsp-mlzd.zip

    - 使用过滤器(Filter)来拦截和处理非法的目录访问请求。 6. **示例代码** ```jsp *" %&gt; File dir = new File("public_files"); String[] files = dir.list(); for (String file : files) { out.println...

    JSP聊天程序

    例如,可以使用Filter实现用户登录验证,对非法请求进行拦截,或者对发送的数据进行加密处理,提高安全性。 **四、中文处理** 在JSP中处理中文字符是一项常见的挑战,因为不同的字符集可能导致乱码问题。在JSP聊天...

Global site tag (gtag.js) - Google Analytics