亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

防SQL注入:生成參數(shù)化的通用分頁查詢語句

系統(tǒng) 1873 0
原文: 防SQL注入:生成參數(shù)化的通用分頁查詢語句

????? 前些時間看了玉開兄的“ 如此高效通用的分頁存儲過程是帶有sql注入漏洞的 ”這篇文章,才突然想起某個項目也是使用了累似的通用分頁存儲過程。使用這種通用的存儲過程進行分頁查詢,想要防SQL注入,只能對輸入的參數(shù)進行過濾,例如將一個單引號“'”轉(zhuǎn)換成兩個單引號“''”,但這種做法是不安全的,厲害的黑客可以通過編碼的方式繞過單引號的過濾,要想有效防SQL注入,只有參數(shù)化查詢才是最終的解決方案。但問題就出在這種通用分頁存儲過程是在存儲過程內(nèi)部進行SQL語句拼接,根本無法修改為參數(shù)化的查詢語句,因此這種通用分頁存儲過程是不可取的。但是如果不用通用的分頁存儲過程,則意味著必須為每個具體的分頁查詢寫一個分頁存儲過程,這會增加不少的工作量。

????? 經(jīng)過幾天的時間考慮之后,想到了一個用代碼來生成參數(shù)化的通用分頁查詢語句的解決方案。代碼如下:

Code

?

使用方法:

?

PagerQuery query = new PagerQuery();
query.PageIndex = 1;
??? query.PageSize = 20;
??? query.PK = "ID";
??? query.SelectClause = "*";
??? query.FromClause = "TestTable";
??? query.SortClause = "ID DESC";

??? if (!string.IsNullOrEmpty(code))
??? {
??? ?query.WhereClause.Append(" and ID= @ID");
??? }

a)?GenerateCountSql ()方法生成的語句為:
Select count(0) from TestTable Where 1=1 and ID= @ID

b)?GenerateSql()方法生成的語句為:
WITH t AS (SELECT ROW_NUMBER() OVER(ORDER BY ECID DESC) as row_number, * from TestTable where 1=1 and ID= @ID) Select * from t where row_number BETWEEN 1 and 20

c)?GenerateSqlIncludetTotalRecords()方法生成的語句為:
WITH t AS (SELECT ROW_NUMBER() OVER(ORDER BY E.ECID DESC) as row_number,* from TestTable where 1=1 and ID= @ID) Select * from t where row_number BETWEEN 1 and 20;Select count(0) from ECBasicInfo where 1=1 and ID= @ID;

注意:以上代碼生成的SQL語句是曾對SQL SERVER 2005以上版本的,希望這些代碼對大家有用

防SQL注入:生成參數(shù)化的通用分頁查詢語句


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日韩国产欧美一区二区三区 | 国产欧美精品三区 | 天天操夜夜骑 | 亚洲精品日本高清中文字幕 | 色www国产阿娇 | 老司机午夜性大片免费 | 九色 91| 校园春色男人天堂 | 欧美一级成人毛片视频 | 国产成人精品视频一区二区不卡 | 国产热热 | 欧美一级aⅴ毛片 | 久久精品国产91久久麻豆自制 | 欧美激情久久欧美激情 | 亚洲免费在线视频 | 欧美金8天国 | 亚洲一区二区三区精品影院 | 特级aav毛片日本免费视频 | 欧美第一区 | 久草在线影| 亚洲国产99999在线精品一区 | 久久天天躁狠狠躁夜夜爽蜜月 | 在线精品亚洲欧洲第一页 | 日本不卡一区二区三区视频 | 国产精品一区二区在线观看 | 免费观看毛片 | 亚洲国产成人久久精品动漫 | 欧美一区二区视频 | 一区二区精品视频 | 久久免费视频在线观看 | 牛牛影视午夜免费福利 | 一级一级18女人毛片 | 久久社区 | 欧美大色网| 在线国产福利 | 99热久久精品最新 | 色中色综合 | 人人骚 | 久久大香香蕉国产免费网vrr | 日本色综合 | 欧美日韩国产精品 |