一种防止SQL语句注入的校验方法、装置、系统及介质制造方法及图纸

技术编号:38615632 阅读:8 留言:0更新日期:2023-08-26 23:42
本发明专利技术公开了一种防止SQL语句注入的校验方法、装置、系统及介质,方法包括:当预设过滤器拦截到访问请求时,读取当前访问接口的输入流信息;对所述输入流信息进行解析,获取当前访问请求的请求方法;根据所述请求方法的类型获取对应的待校验数据,并对所述待校验数据进行SQL注入校验,确认当前请求消息中是否存在SQL注入;若不存在SQL注入,则对所述访问请求放行,否则拒绝所述访问请求。通过过滤器配置的方式,能高效快速地实现对传入数据的防SQL注入校验,在数据还没有进行业务逻辑流转之前就进行了防SQL校验,从而实现整个程序的防SQL注入,提高校验效率的同时也提升程序安全性。提高校验效率的同时也提升程序安全性。提高校验效率的同时也提升程序安全性。

【技术实现步骤摘要】
一种防止SQL语句注入的校验方法、装置、系统及介质


[0001]本专利技术涉及金融科技
,尤其涉及一种防止SQL语句注入的校验方法、装置、系统及介质。

技术介绍

[0002]随着金融领域不同业务场景的高速发展,越来越多的金融类软件项目上线,从而为更多的银行业务场景提供方便快捷的场景服务。在软件研发过程中,特别是金融行业由于业务的特殊性,对数据操作的合法性和安全性要求非常高,其中防止SQL注入是确保数据安全的重要环节。
[0003]SQL注入是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。因此程序中如果存在SQL注入的情况,会对程序造成非常大的安全问题。
[0004]现有技术一般通过在代码中所有可能出现SQL数据传入的地方进行校验,来实现防止SQL注入。但是这种方式需要编写大量的用来防止数据库SQL注入的校验代码,增加代码冗余,降低了程序开发时效。

技术实现思路

[0005]鉴于上述现有技术的不足,本专利技术的目的在于提供可应用于金融科技或其它相关领域的一种防止SQL语句注入的校验方法、装置、系统及介质,旨在提高防止SQL语句注入的校验效率,确保程序安全性。
[0006]本专利技术的技术方案如下:
[0007]一种防止SQL语句注入的校验方法,包括:
[0008]当预设过滤器拦截到访问请求时,读取当前访问接口的输入流信息;
[0009]对所述输入流信息进行解析,获取当前访问请求的请求方法;
[0010]根据所述请求方法的类型获取对应的待校验数据,并对所述待校验数据进行SQL注入校验,确认当前请求消息中是否存在SQL注入;
[0011]若不存在SQL注入,则对所述访问请求放行,否则拒绝所述访问请求。
[0012]在一个实施例中,所述根据所述请求方法的类型获取对应的待校验数据,并对所述待校验数据进行SQL注入校验,确认当前请求消息中是否存在SQL注入,包括:
[0013]确认所述请求方法为POST请求或GET请求,根据对应的数据获取方式获取所述访问请求的待校验数据;
[0014]通过预设正则表达式对所述待校验数据进行SQL注入校验;
[0015]根据校验结果确认当前请求消息中是否存在SQL注入。
[0016]在一个实施例中,所述确认所述请求方法为POST请求或GET请求,根据对应的数据
获取方式获取所述访问请求的待校验数据,具体包括:
[0017]当所述请求方法确认为POST请求时,对所述请求方法中的请求体进行预设格式的格式化处理,得到所述请求体的每个字段数据作为待校验数据;
[0018]当所述请求方法确认为GET请求时,获取请求参数作为待校验数据。
[0019]在一个实施例中,所述通过预设正则表达式对所述待校验数据进行SQL注入校验,具体包括:
[0020]将所述待校验数据与预设正则表达式进行匹配,确认每个字段数据或请求参数是否与所述预设正则表达式相匹配。
[0021]在一个实施例中,所述根据校验结果确认当前请求消息中是否存在SQL注入,具体包括:
[0022]当任意一个字段数据或请求参数与所述预设正则表达式相匹配时,确认当前请求消息中存在SQL注入,否则不存在SQL注入。
[0023]在一个实施例中,所述当预设过滤器拦截到访问请求时,读取当前访问接口的输入流信息之后,所述方法还包括:
[0024]将所述输入流信息保存到临时内存中。
[0025]在一个实施例中,所述对所述访问请求放行,具体包括:
[0026]将所述临时内存中的输入流信息重写至所述访问接口中,以对指定资源进行访问。
[0027]一种防止SQL语句注入的校验装置,包括:
[0028]拦截读取模块,用于当预设过滤器拦截到访问请求时,读取当前访问接口的输入流信息;
[0029]解析模块,用于对所述输入流信息进行解析,获取当前访问请求的请求方法;
[0030]校验模块,用于根据所述请求方法的类型获取对应的待校验数据,并对所述待校验数据进行SQL注入校验,确认当前请求消息中是否存在SQL注入;
[0031]过滤处理模块,用于若不存在SQL注入,则对所述访问请求放行,否则拒绝所述访问请求。
[0032]一种防止SQL语句注入的校验系统,所述系统包括至少一个处理器;以及,
[0033]与所述至少一个处理器通信连接的存储器;其中,
[0034]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述防止SQL语句注入的校验方法。
[0035]一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行上述的防止SQL语句注入的校验方法。
[0036]有益效果:本专利技术公开了一种防止SQL语句注入的校验方法、装置、系统及介质,相比于现有技术,本专利技术实施例通过过滤器配置的方式,能高效快速地实现对传入数据的防SQL注入校验,在数据还没有进行业务逻辑流转之前就进行了防SQL校验,从而实现整个程序的防SQL注入,提高校验效率的同时也提升程序安全性。
附图说明
[0037]下面将结合附图及实施例对本专利技术作进一步说明,附图中:
[0038]图1为本专利技术实施例提供的防止SQL语句注入的校验方法的一个流程图;
[0039]图2为本专利技术实施例提供的防止SQL语句注入的校验方法中步骤S300的流程图;
[0040]图3为本专利技术实施例提供的防止SQL语句注入的校验方法的另一个流程图;
[0041]图4为本专利技术实施例提供的防止SQL语句注入的校验装置的功能模块示意图;
[0042]图5为本专利技术实施例提供的防止SQL语句注入的校验系统的硬件结构示意图。
具体实施方式
[0043]为使本专利技术的目的、技术方案及效果更加清楚、明确,以下对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。以下结合附图对本专利技术实施例进行介绍。
[0044]随着金融领域不同业务场景的高速发展,越来越多的金融类软件项目上线,从而为更多的银行业务场景提供方便快捷的场景服务。在软件研发过程中,特别是金融行业由于业务的特殊性,对数据操作的合法性和安全性要求非常高,其中防止SQL注入是确保数据安全的重要环节。
[0045]SQL注入是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种防止SQL语句注入的校验方法,其特征在于,包括:当预设过滤器拦截到访问请求时,读取当前访问接口的输入流信息;对所述输入流信息进行解析,获取当前访问请求的请求方法;根据所述请求方法的类型获取对应的待校验数据,并对所述待校验数据进行SQL注入校验,确认当前请求消息中是否存在SQL注入;若不存在SQL注入,则对所述访问请求放行,否则拒绝所述访问请求。2.根据权利要求1所述的防止SQL语句注入的校验方法,其特征在于,所述根据所述请求方法的类型获取对应的待校验数据,并对所述待校验数据进行SQL注入校验,确认当前请求消息中是否存在SQL注入,包括:确认所述请求方法为POST请求或GET请求,根据对应的数据获取方式获取所述访问请求的待校验数据;通过预设正则表达式对所述待校验数据进行SQL注入校验;根据校验结果确认当前请求消息中是否存在SQL注入。3.根据权利要求2所述的防止SQL语句注入的校验方法,其特征在于,所述确认所述请求方法为POST请求或GET请求,根据对应的数据获取方式获取所述访问请求的待校验数据,具体包括:当所述请求方法确认为POST请求时,对所述请求方法中的请求体进行预设格式的格式化处理,得到所述请求体的每个字段数据作为待校验数据;当所述请求方法确认为GET请求时,获取请求参数作为待校验数据。4.根据权利要求3所述的防止SQL语句注入的校验方法,其特征在于,所述通过预设正则表达式对所述待校验数据进行SQL注入校验,具体包括:将所述待校验数据与预设正则表达式进行匹配,确认每个字段数据或请求参数是否与所述预设正则表达式相匹配。5.根据权利要求4所述的防止SQL语句注入的校验方法,其特征在于,所述根据校验结果确认当前请求消息中是否存在SQL注入,具体包括:当任意一个...

【专利技术属性】
技术研发人员:周小亮
申请(专利权)人:平安银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1