国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

在SQL Server中正確使用參數報表
2009-08-15   IT專家網

  一、帶報表參數的典型應用。

  在一個報表中加入參數,最直接的結果就是可以提高查詢語句的重復利用性。如用戶可以通過更改參數來調整顯示的結果等等。對于這些常規的應用筆者不做過多的闡述。筆者現在要說的是,帶參數報表的一些高級應用。

  參數報表比較高級的應用就是實現報表鉆取。鉆取是改變維的層次,變換分析的粒度。它包括向上鉆取和向下鉆取。向上鉆取是在某一維上將低層次的細節數據概括到高層次的匯總數據,或者減少維數;向下鉆取是指自動生成匯總行的分析方法。簡單的說,現在數據庫中有一張銷售訂單表。根據這張表可以生成一張各個月份的銷售統計表。但是,有可能用戶在查看這張報表的時候,對某個月份的統計結果有懷疑,為此需要查看這個月份的銷售明細。此時如果利用帶參數的報表實現鉆取功能的話,那么就不需要重新查詢或者生成報表。而只需要直接在這張報表上點擊月份,系統就會自動打開另外一張報表。這張報表中的內容就是這月份的銷售明細。從技術的角度講,就是通過參數的傳遞,將這張報表的時間信息作為另一張報表的查詢參數。從而讓系統自動根據這個參數來生成相應的數據,從而簡化用戶的操作。

  二、帶參數報表要避免注入式攻擊。

  在使用參數報表的時候,特別需要注意一點就是防止注入式攻擊。注入式攻擊各位讀者或許都了解。可是對于為什么使用參數的報表容易引起注入式攻擊,可能大家并不怎么了解。這主要是因為參數如果采用的是string數據類型所造成的。即如果參數采用的是string數據類型,那么就表示用戶可以根據需要輸入任何類型的字符串。此時如果用戶輸入了一些注入式攻擊的代碼當作參數,則就可能會導致注入式攻擊。為此如果生成報表時,采用的參數時String數據類型的,就需要特別的注意。為了防止這個注入式攻擊,筆者建議如果采用的參數一定要是String數據類型的話,那么最好能夠遵循下面的規則。DB2數據庫與SQLServer數據庫的異同

  首先,在客戶端將報表查詢語句傳遞給數據庫之前,即將參數復制給Select語句之前,最好進行驗證。即要驗證輸入的參數值中,是否存在一些特殊的符號。這些符號往往跟輸入攻擊有關。如果存在這些特殊字符的話,則需要向用戶提供警告信息,表明存在注入式攻擊的可能性。并且,系統可以拒絕接受這個參數。這個避免注入式攻擊的方法比較消極。如果這些特殊符號確實是查詢參數中包含的內容,那么也無法使用。

  其次,可以通過值列表的方式來向數據庫傳遞參數。在沒有提供值列表的情況下,如果參數是字符類型的,則系統向用戶顯示的是一個可以使用任何值的文本框。此時數據庫管理員可以使用可用值列表的方式來規范化參數的輸入,限制其輸入一些特殊的字符。也就是說,在定義String類型的參數報表時,讓系統向用戶顯示一個下拉的列表框,然后用戶通過選擇來指定參數。這個操作就跟Excel表格中的下拉列框差不多,用戶只能夠選擇數據庫管理員所提供的值,或者說只能夠選擇某張表中存在的值。由于用戶不能夠自己輸入值,而只能夠選擇,這就可以有效的避免注入式攻擊。不過采用這種方式有一個缺陷,就是如果有效的值太多的話,這個列表就會很長。為此用戶在選擇參數的時候,就會很麻煩。如當有效值有500個的話,那么就需要在500個值中選擇一個值,顯然這有點困難。即使按照參數的名字順序來排列,選擇也是比較麻煩的。大內存SQLServer數據庫的加速劑

  第三,可以利用列表查詢的方式,來避免注入式攻擊。即當用戶輸入一個參數之后,系統會自動從一個列表中查詢是否存在這個值。如果存在的話,則將這個參數賦值給查詢語句中的變量。如果不存在的話則提醒用戶參數可能輸入錯誤。如現在有一張銷售訂單明細報表。用戶可能需要根據訂單號碼來查詢銷售訂單明細。此時這個訂單號碼就是一個字符型的參數。當用戶輸入這個參數的時候,并不是馬上傳遞給數據庫,這么做太危險,容易產生注入式攻擊。而是前臺應用程序也從后臺數據庫中取得所有的銷售訂單的訂單號碼信息。當用戶輸入參數之后,前臺應用程序會把這個用戶輸入的參數跟自己查詢出來的信息先進行對比。如果有匹配的信息,就將這個參數傳遞給后臺數據庫。如果沒有的話,就向用戶報告錯誤的信息。有些應用程序在設計的時候,還會更進一步。如客戶端程序會先從數據庫中取得訂單號碼與對應的訂單ID。當用戶輸入參數之后,會進行比對。如果比對成功的話,那么客戶端應用程序會將這個訂單號碼對應的訂單ID作為參數傳遞給查詢語句。也就是說,從數據庫服務器角度來講,真正的參數是訂單ID(整數型數據類型)而不是訂單號碼(字符串數據類型)。通過這個數據類型轉換,從而可以從根本上防止注入式的攻擊。

  以上三種方式都可以很有效的避免注入式攻擊。數據庫管理員需要根據實際應用來選擇合適的解決方案。如當有效值比較少的時候,如按年份來統計銷售訂單時,則可以使用列表的形式。當有效值比較多,特別是這個有效值會自動增長的時候,則可以使用列表查詢的方式??傊粋€基本的原則,對于String參數,一定要進行驗證其合法性。否則的話,很容易造成注入式攻擊。

  三、對于日期型的數據給與特殊的照顧。

  日期型的數據是數據庫中最容易出現問題的一個數據類型。因為不同語言環境下,如英語與漢語環境下,其采用的日期格式是不同的。如果數據庫中定義了某個日期格式,而輸入的參數如果不符合這個格式的話,則系統就會認為這條記錄不存在,從而在報表中查詢不到相關的數據。為此如果在報表中要使用日期型數據參數的話,將會是一件比較麻煩的事情。所以,在應用程序設計時,數據庫管理員最好提醒前臺應用程序的設計者,能夠規范化日期的格式。如可以要求他們,對于日期型的數據作為參數時,用戶不能夠手工輸入日期。因為不同的用戶輸入習慣不同,如有些人會按年月日的格式輸入(有些用戶會把8月份寫成08,而有些直接寫成8),有些人則會按月、日、年的格式進行輸入。由于格式不統一,那么數據庫就很難按照同一個規則進行轉換。為此,對于日期型的數據作為參數時,最好在前臺應用程序中能夠規范化輸入的格式。如以一個統計的格式輸入。要做到這一點的話,就可以通過一個日期型的控件來完成。即用戶不能夠手工輸入日期型的數據。當遇到某個參數時日期型的數據時,當鼠標定位到這個文本框,則系統就會彈出一個類似日歷的界面。用戶只有通過選擇日期來輸入日期型的數據,從而規范化用戶的輸入。另外也可以通過掩碼的方式來規范用戶輸入的格式。即預先規定年月日的輸入掩碼。用戶在輸入的時候必須按照這個格式,否則的話,系統不會接受用戶的輸入。這兩種方式都可以實現對日期數據的規范化。

  當用戶按照同一個格式輸入日期數據后,以后的工作就容易處理了。在將參數傳遞給數據庫的時候,可以在查詢語句中加入一個日期型數據的強制轉換語句。將輸入的日期型數據按照系統表中定義的日期型數據進行轉換。即如果前臺客戶端輸入的日期型數據格式是日、月、年(只要輸入的內容統一即可,沒有具體的要求),然后在查詢語句中就可以通過數據類型轉換工具對數據類型進行轉換。如將日、月、年表示的字符型數據類型表示會年、月、日的日期型數據類型。如此的話,就可以保證用戶輸入的參數是數據庫可以識別的。就可以避免因為日期格式不一致或者數據類型不一致而導致報表不能夠抓取記錄。

熱詞搜索:

上一篇:快速了解服務器數據庫系統的優點
下一篇:美國西蒙成功布線江蘇國際圖書中心

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
日日摸夜夜添夜夜添精品视频| 免费成人av资源网| 日韩成人午夜电影| 欧美剧情电影在线观看完整版免费励志电影 | 成人黄色综合网站| 国产精品麻豆视频| 91浏览器在线视频| 秋霞成人午夜伦在线观看| 久久嫩草精品久久久久| 色综合天天做天天爱| 亚洲三级免费观看| 欧美一区二区日韩| 豆国产96在线|亚洲| 一区二区三区四区国产精品| 这里只有精品免费| 99综合影院在线| 免费久久精品视频| 亚洲日本成人在线观看| 欧美一区二区视频在线观看| 国产东北露脸精品视频| 亚洲www啪成人一区二区麻豆| 精品欧美一区二区在线观看| 91在线视频观看| 久久99精品国产麻豆不卡| 国产精品久久午夜夜伦鲁鲁| 91 com成人网| 91福利视频久久久久| 国内精品嫩模私拍在线| 亚洲丶国产丶欧美一区二区三区| 久久久不卡影院| 欧美日韩国产影片| 一本一本久久a久久精品综合麻豆| 久久99精品国产.久久久久| 亚洲狠狠爱一区二区三区| 欧美国产精品一区二区| 日韩视频国产视频| 欧美色成人综合| 91玉足脚交白嫩脚丫在线播放| 国产综合一区二区| 久久精品国产精品亚洲精品 | 亚洲精品欧美在线| 国产色爱av资源综合区| 日韩精品中午字幕| 91精品福利在线一区二区三区 | 丝袜国产日韩另类美女| 亚洲视频一区二区在线| 欧美国产乱子伦 | 久久久久久电影| 日韩欧美中文字幕公布| 91精品综合久久久久久| 欧美日韩亚洲综合在线 | 26uuu成人网一区二区三区| 欧美日韩成人在线| 欧美日韩国产首页| 欧美久久久久中文字幕| 欧美日韩精品久久久| 欧美日韩一区国产| 欧美理论片在线| 制服丝袜中文字幕亚洲| 91精品国产黑色紧身裤美女| 这里只有精品电影| 精品福利一二区| 国产偷v国产偷v亚洲高清| 中文字幕欧美日本乱码一线二线| 国产精品第一页第二页第三页| 亚洲欧洲日产国码二区| 亚洲制服丝袜一区| 日韩av一区二区在线影视| 精品一区二区影视| 国产成人av自拍| 91麻豆蜜桃一区二区三区| 91久久精品国产91性色tv| 欧美理论片在线| 久久久99久久| 亚洲国产一区二区三区青草影视| 日本亚洲免费观看| 国产不卡视频在线观看| 色拍拍在线精品视频8848| 欧美人成免费网站| 2023国产精华国产精品| 国产精品久99| 天天操天天色综合| 国产电影一区在线| 欧美色窝79yyyycom| 亚洲精品一区二区三区影院| 中文字幕一区二区视频| 麻豆国产一区二区| 成人av电影免费观看| 在线播放国产精品二区一二区四区| 精品日韩99亚洲| 亚洲国产一区二区a毛片| 国产美女在线精品| 欧美日韩国产三级| 亚洲欧洲精品一区二区三区不卡| 蜜臀av一区二区在线观看| 99亚偷拍自图区亚洲| 日韩精品中文字幕一区二区三区| 亚洲男人的天堂在线aⅴ视频| 蜜臀av亚洲一区中文字幕| 色婷婷久久99综合精品jk白丝| 精品久久久久久久久久久久包黑料 | 成人av一区二区三区| 欧美一区永久视频免费观看| 国产精品久久久久久久久果冻传媒| 日本va欧美va精品| 在线免费观看日本一区| 国产欧美精品日韩区二区麻豆天美| 亚洲成人在线观看视频| 91在线视频免费观看| 国产视频视频一区| 激情欧美日韩一区二区| 欧美日韩在线电影| 亚洲精品乱码久久久久| 国产成人在线视频免费播放| 日韩一区二区三| 日本欧美久久久久免费播放网| 91电影在线观看| 亚洲综合色婷婷| 一本久道久久综合中文字幕| 国产精品欧美极品| 国v精品久久久网| 久久久久国产精品麻豆ai换脸 | 国产午夜精品理论片a级大结局 | 亚洲自拍欧美精品| 欧美亚一区二区| 亚洲一区二区三区三| 91国偷自产一区二区三区观看| 亚洲欧洲成人av每日更新| 成人晚上爱看视频| 国产精品美女www爽爽爽| 国v精品久久久网| 亚洲欧洲精品一区二区三区| 99re这里只有精品6| 亚洲视频一区二区免费在线观看| 成人激情文学综合网| 亚洲另类色综合网站| 欧美优质美女网站| 亚洲bt欧美bt精品| 日韩美女一区二区三区| 韩国av一区二区| 国产精品免费视频一区| 色综合夜色一区| 日本最新不卡在线| 精品国产伦一区二区三区观看体验| 国模套图日韩精品一区二区| 国产喷白浆一区二区三区| 波多野结衣中文字幕一区二区三区 | 成人福利视频在线| 亚洲免费观看视频| 欧美日韩你懂的| 激情综合色综合久久综合| 久久久久久夜精品精品免费| av成人老司机| 天堂蜜桃91精品| 久久影院午夜片一区| 成a人片亚洲日本久久| 亚洲成a天堂v人片| 欧美精品一区二区三区高清aⅴ| 高清不卡一区二区| 午夜国产精品一区| 国产欧美一区二区三区网站 | 欧美日韩久久久一区| 国产一区二区三区黄视频 | 成人a区在线观看| 视频一区中文字幕| 欧美极品少妇xxxxⅹ高跟鞋 | 日本一区二区综合亚洲| 欧美日韩1234| 91在线国内视频| 久久国产三级精品| 亚洲狠狠丁香婷婷综合久久久| 日韩欧美一区二区三区在线| www.色精品| 韩国一区二区三区| 亚欧色一区w666天堂| 中文字幕精品在线不卡| 91精品国产全国免费观看| 色老汉av一区二区三区| 国产传媒日韩欧美成人| 日本成人在线不卡视频| 亚洲精品视频在线观看免费| 久久久久久久久久久电影| 欧美日韩高清影院| 91色在线porny| 成人激情小说乱人伦| 国产精品自拍网站| 久久99国产精品免费| 日日摸夜夜添夜夜添亚洲女人| 亚洲精品欧美在线| 亚洲人成精品久久久久| 国产精品成人一区二区三区夜夜夜| 精品久久一二三区| 欧美一区午夜视频在线观看| 欧美性三三影院| 在线免费观看日韩欧美| 色婷婷久久久久swag精品| 91在线免费视频观看| jizzjizzjizz欧美| 97精品电影院| 色哟哟一区二区在线观看 |