[發明專利]一種.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.szxzyx.cn/pat/books/201710656994.6/2.html,轉載請聲明來源鉆瓜專利網。





