1.首先编写一个PreventIntoScriptFilter.java,代码如下
package com.questionnaire.common.filter;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
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 org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class PreventIntoScriptFilter implements Filter {
private static Log log = LogFactory.getLog(PreventIntoScriptFilter.class);
@Override
public void destroy() {
}
@SuppressWarnings("deprecation")
@Override
public void doFilter(ServletRequest servletRequest,
ServletResponse servletResponse, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
try {
String s = request.getQueryString();
if (s != null) {
// System.out.println("+++++++++++++++++++++++" + s);
Pattern pattern = Pattern
.compile("(?i)[|;$@'\"<>()+,\\\\#]|%7C|%3B|%24|%40|%27|%22|%3C|%3E|%28|%29|%2B|%2C|%5C|%23");
Matcher matcher = pattern.matcher(s);
if (matcher.find()) {
String s3 = s
.replaceAll(
"(?i)[|;$@'\"<>()+,\\\\#]|%7C|%3B|%24|%40|%27|%22|%3C|%3E|%28|%29|%2B|%2C|%5C|%23",
"%20");
// System.out.println("+++++++++++++++++++++++" + s3);
response.sendRedirect(request.getRequestURL() + "?" + s3);
}
}
} catch (Exception e) {
log.error("PreventIntoScriptFilter 出错了:" + e);
}
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
}
2.在web.xml中添加如下配置即可
<filter>
<filter-name>preventIntoScriptFilter</filter-name>
<filter-class>com.questionnaire.common.filter.PreventIntoScriptFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>preventIntoScriptFilter</filter-name>
<url-pattern>*.view</url-pattern>
</filter-mapping>
分享到:
相关推荐
java防sql注入攻击过滤器 filter
下面小编就为大家带来一篇java 过滤器filter防sql注入的实现代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
一、什么是XSS攻击 XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制——例如...
SQL 安全注入漏洞过滤器类 Java实现 Java类实现,以及配置文件web.xml
3,服务器白名单为单独的一个工具包,在文章最后给出 4,文章开发环境为JDK1.8,使用SpringBoot框架进行开发 5,文章会分享出整个Filter文件包,包含四个java文件: 5.1,public class CrosXssFilter implements ...
防止sql注入的url过滤器,简单配置即可!
网上很多不支持替换,自己改了个 可以替换不合格的字符。filter 别忘了在WBM.XML加上
-- 防止SQL注入的过滤器 --> 72 <filter> 73 <filter-name>antiSqlInjection</filter-name> 74 <filter-class>com.tarena.dingdang.filter.AntiSqlInjectionfilter</filter-class> 75 </filter> 76 ...
简单过滤器防止恶意攻击 java中的用法
java web 过滤器防止Xss、sql注入,基于spring boot 2.0框架开发。
java版防止sql注入的filter 如果好用,别忘记了来评论一下,受益于更多的人
首先说一下思路,防止这种类似于注入攻击,就是使用拦截器(Filter)处理特殊字符或过滤特殊字符 今天介绍一个方法,利用覆盖Servlet的getParameter方法达到处理特殊字符的目的来解决(防止)Xss攻击 web.xml,需要的...
3,服务器白名单为单独的一个工具包,在文章最后给出 4,文章开发环境为JDK1.8,使用SpringBoot框架进行开发 5,文章会分享出整个Filter文件包,包含四个java文件: 5.1,public class CrosXssFilter implements ...
防止xss注入,有antlr-runtime和xssProtect两个jar包,及相关的filter过滤器。
这个脚本将创建一个sqlcore的数据库,并导入数据 4.启动压缩包里面的tomcat登录系统 http://localhost/输入验证码就可以了 5.上传你的jdbc驱动到系统 sqlcore-文件管理---上传你的jdbc 6.创建 版本 sqlcore-驱动版本...
你还在为防范xss注入攻击而头疼吗,开源的XSS HTMLFILTER工具类能帮你过滤表单或链接中敏感的js html字符,有完整的源代码和代码示例 为您的系统增添xss的第一道防护
Class类工具 \Cookie工具类 \excel读取 工具类\Java如何生成验证码图片和点击刷新验证码\java获取当前月第一天和最后一天,上个月第一天和最后一天\java实现ftp文件的上传与下载\Json工具类 - JsonUtils.java\JS...
Java的Web框架虽然各不相同,但基本也都是遵循特定的路数的:使用Servlet或者Filter拦截请求,使用MVC的思想设计架构,使用约定,XML或 Annotation实现配置,运用Java面向对象的特点,面向对象实现请求和响应的流程...
所有需要的文件均在里面,超有所值
1.7.1 创建第一个Java Web项目 1.7.2 将图片输出到JSP页面之中 1.8 疑难解惑 1.8.1 Tomcat端口被占用导致不能启动 1.8.2 Eelipse没有创建JSP项 1.9 精彩回顾 第2章 JavaWeb开发必修课 ——JSP语法 2.1 本章学习任务...