当前位置:首页 > 黑客业务 > 正文内容

JSP运用过滤器避免SQL注入

访客4年前 (2021-04-15)黑客业务694

 什么是SQL注入进犯?引证百度百科的解说:

sql注入_百度百科:
所谓SQL注入,便是通过把SQL指令刺进到Web表单提交或输入域名或页面恳求的查询字符串,终究抵达诈骗服务器履行歹意的SQL指令。详细来说,它是使用现有应用程序,将(歹意)的SQL指令注入到后台数据库引擎履行的才能,它能够通过在Web表单中输入(歹意)SQL句子得到一个存在安全漏洞的网站上的数据库,而不是依照设计者目的去履行SQL句子。[1]  比方从前的许多影视网站走漏VIP会员暗码大多便是通过WEB表单递送查询字符暴出的,这类表单特别简单遭到SQL注入式进犯.
SQL注入进犯指的是通过构建特别的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过履行SQL句子从而履行进犯者所要的操作,其主要原因是程序没有详尽地过滤用户输入的数据,致使不合法数据侵入体系。
filter功用:
它使用户能够改动一个 request和修正一个response. Filter 不是一个servlet,它不能发生一个response,它能够
 
在一个request抵达servlet之前预处理request,也能够在脱离 servlet时处理response.
 
换种说法,filter其实是一个”servlet chaining”(servlet 链). 所以用户宣布的任何request都必定通过filter处理,咱们就在filter处理用户request包括的灵敏关键字,然后replace掉或是让页面转到过错页来提示用户,这样就能够很好的防sql注入了。
 
详细完成代码:
/YourProject/src/com/SqlFilter.java
 
仿制代码
 1 package com;
 2 import java.io.IOException;  
 3 import java.util.Enumeration;  
 4 import javax.servlet.Filter;  
 5 import javax.servlet.FilterChain;  
 6 import javax.servlet.FilterConfig;  
 7 import javax.servlet.ServletException;  
 8 import javax.servlet.ServletRequest;  
 9 import javax.servlet.ServletResponse;  
10 import javax.servlet.http.HttpServletRequest;  
11 import javax.servlet.http.HttpServletResponse;  
12   
13 //过滤sql关键字的Filter 
14 public class SqlFilter implements Filter {  
15   
16     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {  
17   
18         HttpServletRequest req = (HttpServletRequest) request;  
19         HttpServletResponse res = (HttpServletResponse) response;  
20         //取得一切恳求参数名  
21         Enumeration params = req.getParameterNames();  
22   
23         String sql = "";  
24         while (params.hasMoreElements()) {  
25             //得到参数名  
26             String name = params.nextElement().toString();  
27             //System.out.println("name===========================" + name + "--");  
28             //得到参数对应值  
29             String[] value = req.getParameterValues(name);  
30             for (int i = 0; i < value.length; i++) {  
31                 sql = sql + value[i];  
32             }  
33         }  
34         System.out.println("被匹配字符串:"+sql);  
35         if (sqlValidate(sql)) {  
36             res.sendRedirect("error.jsp");   
37         } else {  
38             chain.doFilter(req, res);  
39         }  
40     }  
41   
42     //校验
43     protected static boolean sqlValidate(String str) {  
44         str = str.toLowerCase();//一致转为小写

[1] [2]  黑客接单网

扫描二维码推送至手机访问。

版权声明:本文由黑客接单发布,如需转载请注明出处。

本文链接:http://therlest.com/105863.html

分享给朋友:

“JSP运用过滤器避免SQL注入” 的相关文章

华流芒种是几月几号农历

芒种是二十四节气之一,大家对于二十四节气也已经非常熟悉了,但是芒种是哪一天还不是很清楚,今年的芒种是阳历6月5日,那么2020年芒种是农历几月几号呢?接下来我们就一起了解一下吧。     2020年芒种是农历几月几号...

猪肉怎么选?颜色有区别吗?今天做饭的时候发现上次买的猪肉颜色跟这

猪肉怎么选?颜色有区别吗?今天做饭的时候发现上次买的猪肉颜色跟这 买猪肉时,根据肉的颜色、外观、气味等可以判断出肉的质量是好还是坏。优质的猪肉,脂肪白而硬,且带有香味。肉的外面往往有一层稍带干燥的膜,肉质紧密,富有弹性,手指压后凹陷处立即复原。 次鲜肉肉色较鲜肉暗,缺乏光泽,脂肪呈灰白色;表面带...

蚯蚓的市场价格 - 2020年蚯蚓收购价格

今年2020年这个价格还算是比较合理,市场价格较为平稳,当地蚯蚓批发价250元/万条,今日浙江海宁地区鲜蚯蚓批发价为17,最高可卖3元/两,每次都-是老家亳州的来回辗转的跑辛苦.货源充足,现在贩子登门收购18-222020元/斤不等。 目前价格多少钱一斤目前价格在8元一斤,是一种营养价值很高的无脊椎...

存储过程oracle(oracle财务系统)

推荐教程:甲骨文教程 本文主要介绍甲骨文中的数据转换。 1.日期转换成字符串(以2016年10月20日为例) 选择to_char(sysdate,& # 39;yyyy-mm-DD hh24:mi:ss & # 39;)strDateTime从dual-获取年-月-日:分:秒-...

宝马3系全下来多少钱 「宝马3系320li落地价」

全国最低价为24点36万,价数字的意思如下:1、一般下来要28下来左右,北京的 裸车是22点5万,字母的意思如下:L是,贵吗.钱2020款宝马。 最不满意的一点,适合追求高配置的消费者了,你会觉得这就是你最正确的选择。王斩2015/07/2023:22:05发表在板凳无事故果断拿下新车落地接近50万...

intense靶场-获取User权限

出品|MS08067实验室(www.ms08067.com) 本文作者:jokelove(Ms08067内网安全小组成员) Intense是HTB中一个难度中上的靶场,需要参与者具备下述能力: 1. Python源码审计 2. SQL注入原理 3. SNMP远程命令执行 4. 栈溢出...

评论列表

鸠骨嗫嚅
3年前 (2022-05-30)

rvlet之前预处理request,也能够在脱离 servlet时处理response. 换种说法,filter其实是一个”servlet chaining”(servlet 链). 所以用户宣布的任何request都必定通过filte

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。