У меня есть веб-сайт ASP.NET, управляемый блогом.
Под сообщением есть блок комментариев, позволяющий читателям оставлять комментарии.
Для этого я использовал несколько TextBox и 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();
Спасибо ..