ASP.NET:在这种情况下,我是否可以安全地使用SQL注入和XSS?

时间:2010-11-12 00:28:09

标签: asp.net xss sql-injection

我是一个由博客驱动的ASP.NET网站。 在帖子下面,有一个评论区块让读者发表评论。

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

防止XSS:

我使用以下方法过滤输入:Server.HtmlEncode()方法(我不关心文本格式化)。

防止SQL注入:

我正在使用Linq To SQL(我认为应该像参数化查询一样!)。

我现在安全吗?

因为我在页面指令中设置了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();

谢谢..

1 个答案:

答案 0 :(得分:0)

参数和编码是主要的,但您也可能想要进行跨站点请求攻击,并且如果引荐来源不是您的站点,则阻止发布:

http://haacked.com/archive/2009/04/02/anatomy-of-csrf-attack.aspx