Asp .net MVC Razor - 从表单发布HTML

时间:2014-08-29 14:28:52

标签: c# asp.net-mvc razor

我正在寻找一些关于我正在进行的项目的指导\背部练习等。

该网站有一个表单,允许用户创建电子邮件模板。 电子邮件模板只是一个带有wysiwyg编辑器的文本区域(bootstrap-wysihtml5)。

因此文本区域将具有基本的html标签,因此用户可以格式化电子邮件的外观。

我的问题是:处理从文本区域回发HTML以避免任何脚本攻击等的最佳\最安全的方法是什么?

如果有任何帮助,我确实有电子邮件的HTML标签白名单。

2 个答案:

答案 0 :(得分:1)

假设将为授权的内部用户创建电子邮件模板。

对TextArea字段的Model属性使用[AllowHtml]属性。这足以满足你的要求。

答案 1 :(得分:1)

如果你担心安全而不是做这两件事之一:

  • 允许标签的白名单并限制用户界面。同样,这将是很多工作和大量的XSS测试。
  • 或接受降价格式并将markdown转换为服务器上的HTML

对于第二个选项,您可以使用http://kevo.io/pagedown-bootstrap/或任何此类降价识别编辑器。工具栏可以帮助那些不知道降价语法的用户。