我的网站中有一个发送电子邮件的功能。我想保存电子邮件详细信息,包括用户在数据库中键入的消息以用于历史目的。页面使用字段验证,因此会引发错误:
"Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 500".
目睹这一点我已经了解到这是为了防止我的网站和数据库的潜在破解,我可以欣赏。
我需要做什么才能安全地将文本保存在数据库中?目前datafiels是varchar(max)
,我使用它来插入数据:
emailHistoryUpdated = _emailHistUpdate.InsertEmailHistory(_today, _name, txtSubject.Text, txtMessage.Text, txtFileUp.FileName, Session["iAm"].ToString()); which is my middle tear. I use the dataset created with VS2010 and stored procedure to communicate with the SQL server.
答案 0 :(得分:0)
一个开始的地方就是编码/清理电子邮件正文中的html,如下所示:
var emailBody = HttpServerUtility.HtmlEncode(input);
这种东西很棒的库是AntiXSS库: