热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java防止SQL注入(通过filter过滤器功能进行拦截)

首先说明一点,这个过滤器拦截其实是不靠谱的,比如说我的一篇文章是介绍sql注入的,或者评论的内容是有关sql的,那会过滤掉&

首先说明一点,这个过滤器拦截其实是不靠谱的,比如说我的一篇文章是介绍sql注入的,或者评论的内容是有关sql的,那会过滤掉;且如果每个页面都经过这个过滤器,那么效率也是非常低的。

如果是要SQL注入拦截,可以在数据访问上层的业务层用方法的形式进行手动过滤还靠谱些。

或者使用SQL的参数形式进行,这个绝对是百分百搞得定。

关于SQL注入解释,参考:http://www.cnblogs.com/EasonJim/p/6223216.html

关于filter过滤器使用教程,参考:http://www.runoob.com/servlet/servlet-writing-filters.html

使用filter过滤器实现的代码如下:

web.xml:



SqlInjectionFilter
com.pupeiyuan.system.core.filter.SqlInjectionFilter


SqlInjectionFilter
/*

filter:

package com.jsoft.jblog.filter;import java.io.IOException;
import java.util.Enumeration;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;public class SqlInjectionFilter implements Filter {public void destroy() {// TODO Auto-generated method stub}public void init(FilterConfig arg0) throws ServletException {// TODO Auto-generated method stub}public void doFilter(ServletRequest args0, ServletResponse args1,FilterChain chain) throws IOException, ServletException {HttpServletRequest req=(HttpServletRequest)args0;HttpServletResponse res=(HttpServletResponse)args1;//获得所有请求参数名Enumeration params = req.getParameterNames();String sql = "";while (params.hasMoreElements()) {//得到参数名String name = params.nextElement().toString();//System.out.println("name===========================" + name + "--");//得到参数对应值String[] value = req.getParameterValues(name);for (int i = 0; i = 0) {return true;}}return false;}
}

 

转:https://www.cnblogs.com/pypua/articles/9561629.html



推荐阅读
author-avatar
六月__的__旅行
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有