[发明专利]一种.net服务器上防止SQL注入的方法在审
申请号: | 201710656994.6 | 申请日: | 2017-08-03 |
公开(公告)号: | CN107277057A | 公开(公告)日: | 2017-10-20 |
发明(设计)人: | 段灵洁 | 申请(专利权)人: | 四川长虹电器股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;G06F21/62;G06F17/30 |
代理公司: | 四川省成都市天策商标专利事务所51213 | 代理人: | 蒋金梅,吴瑞芳 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 net 服务器 防止 sql 注入 方法 | ||
技术领域
本发明涉及一种涉及.net框架,c#,数据库等技术领域。具体为一种在.net服务器中防止SQL注入的方法。
背景技术
随着互联网技术的飞速发展,我们身边的各种软件也已经越来越多了起来,各种玲琅满目的网站,app等等,这些都使用了数据库技术来存储数据,随之而来的也有越来越大的风险,其中在数据库使用上SQL注入一直是一个需要重点防范的方面。一旦软件能够被SQL注入,那么将面临极大的风险,可能是数据库内容的泄漏,可能是数据库内容被恶意篡改,甚至连数据库被删除都有可能发生。
发明内容
本发明的目的是为了防范SQL注入的风险,本专利就发明了一种在.net服务器上防止SQL注入的方法。
为了达到上述的技术效果,本发明采取以下技术方案:一种.net服务器上防止SQL注入的方法,其特征在于,包括以下步骤:
A、提供一个供前端调用的接口:所述接口接受前端传过来的SQL语句和SQL的条件,为后续的构造SQL语句做准备;
B、初始化SqlParams:接口接受到前端传进来的信息之后,先通过SqlParams类的构造方法,初始化SqlParams对象;
C、加入数组:按顺序初始化SqlParams对象之后,把所有的SqlParams对象添加到一个已经初始化好的数组里面;
D、构造SQL语句:通过@+key的形式,来拼接SQL语句的条件;
E、参数化处理:通过参数化的方法,首先遍历SqlParams对象的数组,把每个SqlParams对象取出来,然后通过key和content初始化数据库参数对象,最后把数据库参数对象加到数据库SQL语句操作对象中。
进一步的技术方案是:通过SqlParams类的构造方法,初始化SqlParams对象的具体操作是:构造SqlParams类,所述SqlParams类包含key,content和type共三个属性,key是string类型,表示参数名字的唯一标识;content是object类型,表示参数的内容;type是int类型,表示参数在数据库中的类型,然后传入key,congtent,type三个参数来初始化SqlParams类对象。
进一步的技术方案是:在步骤E之后,还包括步骤:F、调用SQL进行执行。
进一步的技术方案是:执行SQL后,一步一步的返回结果,如果返回的结果为空,表示SQL语句执行失败。
本发明与现有技术相比,具有以下的有益效果:本方法主要利用的原理就是把传入的条件参数化,当外部传入一个SQL语句的条件时,并不直接拼接在SQL语句后面直接执行,而是通过对SQL语句添加参数的方式来执行,并且把参数封装到一个对象里面来使用。使用本方法简单的把传入的条件封装成一个对象,当成参数传递到SQL语句中去,这样一来程序并不会直接的去执行传入的代码,而仅仅是把传入的字符串当成是一个参数来执行,能够完全阻止SQL注入的发生,并且能够大幅度的提高SQL语句的编写效率,防止SQL语句的输入性错误,提高开发效率,提高了程序的安全性。
附图说明
图1是本发明方法实现的流程图;
图2是SqlParams类图。
具体实施方式
下面结合本发明的实施例对本发明作进一步的阐述和说明。
实施例:
如图1所示,一种.net服务器上防止SQL注入的方法,主要包括以下步骤:
A、提供一个接口,供前端调用,接受前端传过来的SQL语句和SQL的条件的参数,为后续的构造SQL语句做准备;例如,登录接口通常需要的参数就是account和password。
B、初始化SqlParams:接口接受到前端传进来的信息之后,先通过SqlParams类的构造方法,把每个参数都初始化一个SqlParams类的对象。具体地:构造一个SqlParams类,该类主要是保存参数的所有信息,该类包含3个属性,第一个string类型的key,每个参数的唯一标识;第二个object类型的content,每个参数的内容;最后一个int类型的type,参数的类型,包括int,string,date等等。并且提供一个构造方法,传入以上三个参数来初始化SqlParams类对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹电器股份有限公司,未经四川长虹电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710656994.6/2.html,转载请声明来源钻瓜专利网。