如果我允許用戶鍵入文本框,然後對我的數據庫執行搜索,則可能會發生sql注入。我可以使用正則表達式,這是我的第一個想法。但我有一個更好的主意。爲什麼不看他們輸入的是否有任何SQL關鍵字。我使用SQL Server數據庫,在ASP.NET程序中使用C#,我認爲微軟會提供一個簡單的解決方案,我正在談論。最好我能找到的是這篇文章:檢查C#中的SQL關鍵字#
Is it a programmatic way to get SQL keywords (reserved words)
這可能是什麼病最終會做,但我的問題是,我還是得打出來的關鍵字的完整列表,有一百個左右。當然,我現在可以完成而不是搜索並詢問這個問題。但沒有一個更簡單的方法?現在我要去:
1創建一個HashSet 2中的所有關鍵字添加到HashSet的(CMON)對HashSet的 3驗證用戶輸入
很想見步驟2將變得更加容易,任何有關SQL注入的其他建議還讚賞
我想補充我的兩分錢,EXCEPT,我沒有變更權利,你會採取支票?如果銀行關門,我希望能把你從哈維省存到銀行。考慮到上面的每個大寫字母都是一個SQL關鍵字,我不認爲這是一個好方法...... – Sparky 2013-05-13 02:36:11
一個好的方法是編寫一個SQL存儲過程從文本框中獲取文本並執行查詢...搜索SQL注入,你會發現爲什麼創建一個黑名單的話不是一個好方法 – Sparky 2013-05-13 02:37:31
... iam使用存儲過程...不需要仍然檢查你的說法嗎? – dwarf 2013-05-13 02:39:21