import java.io.IOException;
import java.util.Iterator;
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;
/**
* 通过Filter过滤器来防SQL注入攻击
*
*/
public class SQLFilter implements Filter {
private String inj_str = "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare|; |or|-|+|,";
protected FilterConfig filterConfig = null;
/**
* Should a character encoding specified by the client be ignored?
*/
protected boolean ignore = true;
public void init(FilterConfig config) throws ServletException {
this.filterConfig = config;
this.inj_str = filterConfig.getInitParameter("keywords");
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest)request;
HttpServletResponse res = (HttpServletResponse)response;
Iterator values = req.getParameterMap().values().iterator();//获取所有的表单参数
while(values.hasNext()){
String[] value = (String[])values.next();
for(int i = 0;i < value.length;i++){
if(sql_inj(value[i])){
//TODO这里发现sql注入代码的业务逻辑代码
return;
}
}
}
chain.doFilter(request, response);
}
public boolean sql_inj(String str)
{
String[] inj_stra=inj_str.split("\\|");
for (int i=0 ; i < inj_stra.length ; i++ )
{
if (str.indexOf(" "+inj_stra[i]+" ")>=0)
{
return true;
}
}
return false;
}
}
分享到:
相关推荐
防止sql注入过滤器配置,
C# MVC 过滤器防止SQL注入
java web 过滤器防止Xss、sql注入,基于spring boot 2.0框架开发。
外网可能会被攻击,简单的处理可以避免! 外网可能会被攻击,简单的处理可以避免! 外网可能会被攻击,简单的处理可以避免! 外网可能会被攻击,简单的处理可以避免!...外网可能会被攻击,简单的处理可以避免!...
配置在web.xml中,可以防止SQL注入,可以自己定义一些需要过滤的特殊字符
java防sql注入攻击过滤器 filter
防止sql注入的url过滤器,这个平时用到过得、觉得不错、所以跟大家分享下、
防止sql注入的url过滤器,简单配置即可!
SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的...下面这篇文章主要给大家介绍了关于防止SQL注入的5种方法,教大家有效的防止sql注入,需要的朋友可以参考学习。
一、什么是XSS攻击 ...三、过滤器配置 web.xml配置 <filter-name>XssFilter <filter-class>com.xxx.Filter.XssFilter</filter-class> <filter-name>XssFilter <url-pattern>/* </filter-mapping>
下面小编就为大家带来一篇java 过滤器filter防sql注入的实现代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
ASP-ISAPI通用防注入过滤器 是一个基于IIS系统的组件,其拥有强大的防ASP注入功能.能在ASP程序本身存在注入漏洞的情况下防御注入攻击。同时它还具备防数据库下载、防止数据库扩展名被修改为asp后插入ASP语句攻击等...
什么是SQL注入攻击?引用百度百科的解释: sql注入_百度百科: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有...
主要介绍了C#防SQL注入代码的三种方法,有需要的朋友可以参考一下
SQL注入的简单案例 SQL注入是一种常见的网站攻击方式,它通过把恶意的SQL命令插入到Web表单提交或输入域名或页面请求的查询...为了防御SQL注入,我们需要对用户的输入进行验证和过滤,并使用参数化查询防止SQL注入。
4. 输入过滤:对用户输入进行过滤,防止恶意输入。 5. 数据库权限控制:对数据库权限进行控制,防止恶意访问。 六、数字型注入实例(sqlmap) sqlmap 是一种自动化的 SQL 注入工具,可以自动检测和利用 SQL 注入...
-- 防止SQL注入的过滤器 --> 72 <filter> 73 <filter-name>antiSqlInjection</filter-name> 74 <filter-class>com.tarena.dingdang.filter.AntiSqlInjectionfilter</filter-class> 75 </filter> 76 ...
java过滤器,XSS : 跨站脚本攻击(Cross Site Scripting),SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令