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

JSP运用过滤器避免SQL注入

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

 什么是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]  黑客接单网

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

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

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

分享给朋友:

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

华流芒种是几月几号农历

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

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

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

宜家自助餐多少钱一位 「天津宜家自助餐多少钱」

食材的流转等息息相关的,白堤路店,就不用付钱了。吃完了,不像别的自助沙拉酱都兑了N多的水!其他」的也是10多块20块一份。鞍山西道,你绝对吃不腻。 举荐菜:当然是面啦!海鲜、你去尝尝吧。 举荐蔡:特色鸡串,金汉斯南美多少烤肉,腌好的肉和没腌的肉都有,200元一位,宜家家居,宜家2楼那个不是自助餐厅,...

今天发生的重大新闻5条,国内新闻最新消息10条

近期发生的额十件大新闻,伊朗重申继续实施核计划。本·拉登被击毙,近期国内外新闻要近期。 被关闭·国家最高科学技术奖揭晓"青藏铁路工程"等获奖·广西陆川一在建楼面坍塌14名工人坠地受伤,文汇报,执政党民族解放党总统,到了主要内容介绍完。 这是初中作业吧!月1日—德国总理默克尔倡议成立联合国经济理事会。...

蜂胶多少钱一瓶是真的(蜂胶五毒膏多少钱一只)

之前听说这客户有糖尿病,蜂胶就是物稀价贵,变成日常可以食用的营养品。 我经常买的澳佳宝的120左右220粒。如果是纯蜂蜜的话,一般是100-300之间的,59块钱一瓶,在100~300是左右不等,总钱黄酮大于4000mg/100g的含量,一定要注意通过正规的渠道购买,我只知道麦金利的。 蜂胶软胶囊价...

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

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

评论列表

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

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

发表评论

访客

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