显示HTML来自网站上的电子邮件

时间:2012-03-06 05:19:27

标签: javascript html css iframe

我正在尝试在html页面上显示html电子邮件。从技术上讲,我可以做到,但安全性是一个问题,攻击者可能会形成恶意代码并放入html电子邮件。

我已经尝试过使用Microsoft XSS库来清理html,但它实际上已经消失了,基本上不值得。

我想知道iframes是否有更好的解决方案。例如,有没有办法在iframe中保护数据?

GMail似乎显示HTML电子邮件,他们必须有一个好的HTML清理程序。

1 个答案:

答案 0 :(得分:0)

您的基本选择是:

  1. 清理HTML(使用白名单方法,以确保安全)
  2. 在不同的域上使用带有src的iframe,或使用html5 sandbox属性
  3. 两者都可以有效地完成,细节上有很多变化。

    关于如此多的消毒,这是不值得的:像https://github.com/guardian/html-janitor/(javascript)和https://github.com/jsocol/bleach(python)这样的好库可以自定义白名单。这取决于您是否只是尝试使用基本格式呈现典型的用户生成的HTML电子邮件,或者您是否尝试显示包含大量图像,表格等的完全“设计”的新闻简报。如果只是前者,请进行一些快速实验通过简单地将brdiv添加到已批准的代码列表中,我可以使大多数电子邮件看起来很棒,因此空格不会被删除。