2010-03-13 43 views
2

我們的團隊最近一直在爲我們的數據庫開發邏輯和數據層。我們未被批准使用Entity或Linq to SQL來處理數據層。它主要是手工建造的。很多SQL都是自動生成的。這是一個明顯的倒退,就是需要在提取和插入之前對輸入進行消毒。輸入衛生最佳實踐

這樣做的最佳方法是什麼?搜索像插入,刪除等術語似乎是一個很好的方法來實現這一點。有更好的選擇嗎?

回答

2

衛生方面最好的方法就是像人類腎臟一樣工作 - 默認拒絕所有東西,並挑選出你知道的好/安全。

我假設你已經使用所有外部輸入SQL查詢的參數。

對輸入進行消毒的方式通常也是一種很好的做法,儘可能接近UI。

+3

'這通常也是一種很好的做法,主要儘可能地接近UI來消毒輸入。' 但是請注意不要誇大開始在客戶端做它:-) – 2010-03-13 23:53:31

+0

是的。我已經看到足夠的客戶端驗證,只是不會陷入陷阱,因此「接近UI」而不是「在UI中」;-) – mfloryan 2010-03-14 19:30:58