您的代碼可以幫助進(jìn)行測試:編寫一個存儲過程然后用錯誤的輸入格式來施展進(jìn)攻,例如,在需要日期的地方,傳遞一個錯誤的日期或一個字符串,在需要貨幣格式的地方,輸入一個日期等等。
作為一個數(shù)據(jù)庫管理員,您應(yīng)當(dāng)阻擋各種攻擊,并將這些攻擊方法寫在一個存儲過程或者UDF中,然后對系統(tǒng)進(jìn)行測試。如果存在安全隱患,那么將這些問題向前臺軟件的作者進(jìn)行匯報也是您的職責(zé)所在。
沒有意義的輸入應(yīng)當(dāng)盡可能地被前臺軟件阻擋在外,錯誤的和惡意的輸入(也就是具有破壞性但并不是完全沒有實意的信息)可能會通過前臺軟件的檢測,這時,您應(yīng)當(dāng)在此處與它們展開戰(zhàn)斗。
最安全的辦法是強制前臺軟件調(diào)用存儲過程或者UDF,這樣,SQL Server將會處理通過了前臺軟件檢測的這些有問題的輸入,然后將它們退回,這樣,問題就回到了前臺軟件的開發(fā)團(tuán)隊,您可以將錯誤號碼、您的存儲過程中自定義的文本一同遞交給開發(fā)團(tuán)隊,或者什么都不必做,就等著錯誤自己浮出水面。
相信我(或者最好不要相信我),總有一天會有人惡意進(jìn)攻您的數(shù)據(jù)庫,如果您沒有任何防備,那就等于將數(shù)據(jù)庫大門的鑰匙拱手相送。
相關(guān)推薦:
計算機等級考試經(jīng)驗:一個VFP優(yōu)秀者等考經(jīng)驗談 2010年全國計算機等考二級C++模擬試題匯總 2010年計算機等級考試四級數(shù)據(jù)庫重點難點分析