本发明涉及大数据技术领域,具体地说是一种实用性强、基于大数据实现sql注入过滤的方法。
背景技术:
互联网时代,随着互联网技术的发展,网络与人之间的关系变得越来越紧密,而网站就成了网络与人之间的最好的沟通桥梁,从而出现了无数的网站用来满足不同的需求,产生了很多利益,因此就会产生很多想要不劳而获的人,因此网站与人的交互安全就会变得非常重要。而sql注入就成了这中间的一个非常大的安全漏洞,因此怎么针对sql注入问题进行研究变得非常重要。基于此,本发明提出了一种基于大数据实现sql注入过滤的方法。
技术实现要素:
本发明的技术任务是针对以上不足之处,提供一种实用性强、基于大数据实现sql注入过滤的方法。
一种基于大数据实现sql注入过滤的方法,其实现过程为:
一、通过用户上传提交与智能采集方式获得sql注入信息;
二、把获得的数据写入数据库中;
三、对数据进行清洗、分析、分类,生成sql注入信息库;
四、加入B/S的中间过滤层,用来接收请求并进行过滤,再进行转发请求,如果请求符合规则,则转发,如果不符合规则,则进行过滤。
收集获得sql注入信息的过程包括以下两种:
采用用户自行上传的方式进行收集,即在用户同意的前提下,用户在发现漏洞的时候进行上传,从而收集到信息;
采用大数据采集的方式,通过数据采集,对互联网上暴漏出的sql注入的信息进行大范围的采集,从而达到信息的收集。
将获得的数据存到统一的数据库中用于将收集的信息进行入库操作,即对获得的信息进行容错保存。
对数据进行清洗、分析、分类是指对收集到并存入数据库的信息进行处理,通过数据分析、数据去重、数据清洗、数据提炼的方式对库里的信息进行优化提纯形成新的数据,再次进行数据的入库,形成优质信息库,从而可用。
加入B/S的中间过滤层是指将B/S中间过滤层与数据库对接联通并部署,其中对接通过包括node、php、java语言中的一种连接池技术连接,部署采用node、php、java语言中的一种进行拦截过滤转发。
所述步骤四中中间过滤层的具体过滤过程为:客户端请求发起的时候,请求经过服务端的时候进行临时拦截,同时服务端的过滤机制启用,然后联通数据库进行询问,如果符合规则,则进行向下转发操作,转发给服务端,如果不符合规则则进行过滤操作,并返回提示信息,从而达到sql注入过滤的作用。
本发明的一种基于大数据实现sql注入过滤的方法,具有以下优点:
本发明提供的一种基于大数据实现sql注入过滤的方法,通过获得sql注入信息,建立注入信息库,建立B/S中间层(f)层,进行请求拦截与过滤转发,及时弥补网络漏洞,保证了交互安全,及时实现sql注入信息过滤,实用性强,适用范围广泛,易于推广。
附图说明
附图1为本发明的实现示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步说明。
如附图1所示,本发明的一种基于大数据实现sql注入过滤的方法,通过提交接收与智能采集的方式对平时我们遇到的sql注入的方式信息进行收集,可以使得我们能够获得几乎所有的sql注入方式与信息,通过大数据的方法对数据进行处理获得sql注入信息的精华库,在B/S的请求过程中增加一个过滤插件(f)层,所有的请求“路由”等信息必须经过这个层级,利用f层的过滤达到sql过滤的作用。本发明通过对提交与智能采集的sql注入信息进行收集,将收集信息入库,通过大数据的清洗、分析、分类的方法生成“注入信息”库。
本发明是为了将提交与采集的sql注入信息收集起来,通过大数据的清洗、分析、分类将这些数据进行分类优化利用,生成一个sql注入信息数据库,从而与我们添加在B/S中间层(f)层过滤器进行联通,从而达到sql过滤的功能。
其具体实现过程如下:
1、通过用户上传提交与大数据的智能采集技术获得sql注入信息。
收集sql注入信息,这一步骤是在前期用来收集有关于sql注入的各种信息的一步,这一步对获得的信息没有太严格的要求与把控,就是对信息的广度有所要求,尽量扩大信息收集的广度,从而缩小可能漏过的信息,使得尽可能的做到最大过滤度。此步骤中我们需要进行两种途径的信息收集的手段,第一种方法是采用用户自行上传的方式进行收集,在用户同意的前提之下,让用户在发现这种漏洞的时候进行上传,从而收集到信息。另外一种方法是采用大数据采集的方法,通过当前普遍的数据采集手段,对互联网上暴漏出的sql注入的信息进行大范围的采集,从而达到信息的收集。
2、把生成的数据写入数据库中。
将收集的数据存到统一的数据库中保存。在这个步骤中,我们的目的就是将收集的信息进行入库操作,对这些信息进行尽可能容错保存,就是不考虑信息的价值性,只要收集到的信息就对他们进行保存。此步骤中数据库的建立与表的创建有一定的复杂度,需要一定的时间去完成。
3、采用大数据的分析方法对数据进行清洗、分析、分类,生成sql注入信息库。
用大数据的方法对数据进行清洗、分析、分类。第三步就是对收集到并存入数据库的信息进行处理了,这里运用大数据的知识,通过数据分析、数据去重、数据清洗、数据提炼等手段对库里的信息进行优化提纯形成优质化的数据,再次进行数据的入库,形成优质信息库,从而达到可用的地步。
4、加入B/S的中间过滤层(f层,利用node php java等语言通过数据库连接池连接信息库,通过程序语言方法进行路由请求拦截进行处理过滤转发),用来接收请求并进行过滤,再进行转发请求,如果请求符合规则,则转发,如果不符合规则,则进行过滤。
将B/S中间层(f)与数据库对接联通(对接利用node、php、java语言中连接池技术连接)并部署(利用node、php、java语言进行拦截过滤转发)。第四步就是对信息的实际应用了,众所周知当今的互联网大部分的交互模式是B/S的模式即客户-服务端模式,服务端发起请求服务端接收请求,数据处理之后将结果返回给服务端。
我们的目的是在B/S的请求过程之中加入一层过滤机制,对这之间的通信进行拦截,符合规则的请求向服务器端进行转发,不符合规则的请求则进行过滤不进行向下的转发操作,这一层可以叫做f层即过滤层,f层为java、php等后台语言的程序,通过数据库连接池与我们的信息库对接,B端客户端请求发起的时候,请求经过f端的时候进行临时拦截,同时f端的过滤机制启用,然后会联通数据库进行询问,如果符合我们的规则,则进行向下转发操作,转发给服务端,如果不符合规则则进行过滤操作,并返回提示信息,从而达到sql注入过滤的作用。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种基于大数据实现sql注入过滤的方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。