2012-07-24 103 views
-1

我使用的是Server.HttpEncode()HttpDecode(),以便消毒用戶表單輸入,並在檢測到「潛在危險」輸入時讓服務器發出異常。簡單的用戶輸入消毒

(數據,然後保存到MSSQL數據庫)

這是否足以阻止SQL/JavaScript注入和類似的考慮?

+0

你沒有提到你如何從用戶輸入建立你的sql字符串 - 但請確保你沒有使用字符串連接,而是使用參數化查詢。如果您想了解SQL注入的全部內容,請閱讀以下優秀文章:http://www.sommarskog.se/dynamic_sql.html#SQL_injection – Bridge 2012-07-24 09:03:56

+0

對不起 - 數據正在傳遞給存儲過程。 – 2012-07-24 09:29:25

+0

這些存儲過程如何制定? – podiluska 2012-07-24 09:32:28

回答

1

不,它根本無法阻止它。它更多地用於防止XSS攻擊,如Microsoft here所解釋的。閱讀this關於防止SQL注入的一些想法的Stackoverflow問題。

根據您所處的環境,我會使用諸如Entity Framework或NHibernate這樣的技術來完全防止SQL注入,所以您甚至不必擔心它。

-2

可能,但幾乎肯定不是。

+4

對投票表示歉意,但不是一個特別有用的答案! – 2012-07-24 09:28:58

+0

@DarkcatStudios根據您提供的信息,這就是答案。你顯然更喜歡答案是:「是的,絕對的。繼續吧,把它放在那裏」,那麼爲什麼要問呢? – podiluska 2012-07-24 09:30:54