2014-08-29 61 views
0

我正在寻找一些关于我目前正在开发的项目的指导\背景实践等。Asp .net MVC Razor - 从表单发布HTML

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

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

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

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

+2

可能dup [如何将HTML保存到数据库并正确检索](http://stackoverflow.com/questions/21662766/how-to-save-html-to-database-and-retrieve-it-properly )Darin Dmitrov的答案让你知道这很好! – user1477388 2014-08-29 14:37:31

+1

阅读http://eksith.wordpress.com/2012/02/13/antixss-4-2-breaks-everything/并查看使用HTMLAgility pack和AntiXss提供良好解决方案的解决方法。 – 2014-08-29 14:47:34

回答

1

如果你担心安全比做这些两两件事之一:

  • 允许的标签白名单和限制UI。再次,这将是很多工作和大量的XSS测试。
  • 或接受降价的格式,并转换到降价HTML服务器

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

+0

谢谢,我认为生病看看减价选项 – user2859298 2014-09-01 13:01:27

+0

很高兴帮助!如果您发现此答案有用,请不要忘记加注! – Mrchief 2014-09-01 14:17:14

1

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

使用[AllowHtml]属性为TextArea字段的Model属性。这对你的要求来说足够好。