2010-11-12 33 views
1

我有一個博客驅動的ASP.NET網站。 在帖子下,有一個評論區讓讀者發表評論。ASP.NET:我在這種情況下從SQL注入和XSS安全嗎?

我已經使用了一些TextBoxes和TextArea。

,以防止XSS:

我已經濾波的輸入使用:Server.HtmlEncode()方法(我不關心文本格式)。

,以防止SQL注入:(!應該是像參數化查詢我認爲)

我使用LINQ to SQL。

我現在安全嗎?

cuz我在頁面指令中設置了ValidateRequest =「false」。

下面是代碼:

ArticlesDataClasses dc = new ArticlesDataClasses(); 

     ArticleComment newComm = new ArticleComment() 
     { 
      ArticleID = int.Parse(Request.QueryString["ArticleID"]), 
      CommentAuthor = Server.HtmlEncode(txtName.Text), 
      CommentText = Server.HtmlEncode(txtComment.InnerHtml).Replace("\n", "<br />"), 
      CommentAuthorEmail = Server.HtmlEncode(txtMail.Text), 
      CommentTime = DateTime.Now, 
      Enabled = false 
     }; 

     dc.ArticleComments.InsertOnSubmit(newComm); 
     dc.SubmitChanges(); 

謝謝..

+0

它聽起來* *喜歡你的安全,但你可以展現代碼堅持到數據庫的評論?這是最重要的部分。 (用於SQL注入預防) – RPM1984 2010-11-12 00:40:09

+0

感謝,RPM1984,我已經編輯了這篇文章並且放置了代碼。 – 2010-11-12 00:45:24

+0

是的,你的安全。一個提示雖然,你應該做你的最後一分鐘的編碼在別的地方(而不是插入代碼)。例如,如果'ArticleID' QS不是INT,'int.Parse'將會拋出異常。在那裏應該使用TryParse,是的,在保存之前清理輸入。但總的來說,你看起來確定。 – RPM1984 2010-11-12 00:46:34

回答