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();
謝謝..
它聽起來* *喜歡你的安全,但你可以展現代碼堅持到數據庫的評論?這是最重要的部分。 (用於SQL注入預防) – RPM1984 2010-11-12 00:40:09
感謝,RPM1984,我已經編輯了這篇文章並且放置了代碼。 – 2010-11-12 00:45:24
是的,你的安全。一個提示雖然,你應該做你的最後一分鐘的編碼在別的地方(而不是插入代碼)。例如,如果'ArticleID' QS不是INT,'int.Parse'將會拋出異常。在那裏應該使用TryParse,是的,在保存之前清理輸入。但總的來說,你看起來確定。 – RPM1984 2010-11-12 00:46:34