`
dilantaya2
  • 浏览: 6621 次
文章分类
社区版块
存档分类
最新评论

防止sql注入过滤器

 
阅读更多

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注入过滤器配置

    防止sql注入过滤器配置,

    C# MVC 过滤器防止SQL注入

    C# MVC 过滤器防止SQL注入

    java web Xss及sql注入过滤器.zip

    java web 过滤器防止Xss、sql注入,基于spring boot 2.0框架开发。

    java过滤器防sql注入

    外网可能会被攻击,简单的处理可以避免! 外网可能会被攻击,简单的处理可以避免! 外网可能会被攻击,简单的处理可以避免! 外网可能会被攻击,简单的处理可以避免!...外网可能会被攻击,简单的处理可以避免!...

    sql注入Java过滤器

    配置在web.xml中,可以防止SQL注入,可以自己定义一些需要过滤的特殊字符

    java防sql注入攻击过滤器

    java防sql注入攻击过滤器 filter

    防止sql注入的url过滤器

    防止sql注入的url过滤器,这个平时用到过得、觉得不错、所以跟大家分享下、

    防止sql注入的url过滤器【java filter】

    防止sql注入的url过滤器,简单配置即可!

    有效防止SQL注入的5种方法总结

    SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的...下面这篇文章主要给大家介绍了关于防止SQL注入的5种方法,教大家有效的防止sql注入,需要的朋友可以参考学习。

    预防XSS攻击和SQL注入XssFilter

    一、什么是XSS攻击 ...三、过滤器配置 web.xml配置 &lt;filter-name&gt;XssFilter &lt;filter-class&gt;com.xxx.Filter.XssFilter&lt;/filter-class&gt; &lt;filter-name&gt;XssFilter &lt;url-pattern&gt;/* &lt;/filter-mapping&gt;

    java 过滤器filter防sql注入的实现代码

    下面小编就为大家带来一篇java 过滤器filter防sql注入的实现代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    ASP-ISAPI通用防注入过滤器 v1.0

    ASP-ISAPI通用防注入过滤器 是一个基于IIS系统的组件,其拥有强大的防ASP注入功能.能在ASP程序本身存在注入漏洞的情况下防御注入攻击。同时它还具备防数据库下载、防止数据库扩展名被修改为asp后插入ASP语句攻击等...

    JSP使用过滤器防止SQL注入的简单实现

    什么是SQL注入攻击?引用百度百科的解释: sql注入_百度百科: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有...

    C#防SQL注入代码的三种方法

    主要介绍了C#防SQL注入代码的三种方法,有需要的朋友可以参考一下

    关于SQL注入的简单案例

    SQL注入的简单案例 SQL注入是一种常见的网站攻击方式,它通过把恶意的SQL命令插入到Web表单提交或输入域名或页面请求的查询...为了防御SQL注入,我们需要对用户的输入进行验证和过滤,并使用参数化查询防止SQL注入。

    sql注入之数字型注入

    4. 输入过滤:对用户输入进行过滤,防止恶意输入。 5. 数据库权限控制:对数据库权限进行控制,防止恶意访问。 六、数字型注入实例(sqlmap) sqlmap 是一种自动化的 SQL 注入工具,可以自动检测和利用 SQL 注入...

    java sql注入l

    -- 防止SQL注入的过滤器 --&gt; 72 &lt;filter&gt; 73 &lt;filter-name&gt;antiSqlInjection&lt;/filter-name&gt; 74 &lt;filter-class&gt;com.tarena.dingdang.filter.AntiSqlInjectionfilter&lt;/filter-class&gt; 75 &lt;/filter&gt; 76 ...

    java过滤器,防止XSS、SQL

    java过滤器,XSS : 跨站脚本攻击(Cross Site Scripting),SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令

Global site tag (gtag.js) - Google Analytics