我正在尝试在html页面上显示html电子邮件。从技术上讲,我可以做到,但安全性是一个问题,攻击者可能会形成恶意代码并放入html电子邮件。
我已经尝试过使用Microsoft XSS库来清理html,但它实际上已经消失了,基本上不值得。
我想知道iframes是否有更好的解决方案。例如,有没有办法在iframe中保护数据?
GMail似乎显示HTML电子邮件,他们必须有一个好的HTML清理程序。
答案 0 :(得分:0)
您的基本选择是:
sandbox
属性两者都可以有效地完成,细节上有很多变化。
关于如此多的消毒,这是不值得的:像https://github.com/guardian/html-janitor/(javascript)和https://github.com/jsocol/bleach(python)这样的好库可以自定义白名单。这取决于您是否只是尝试使用基本格式呈现典型的用户生成的HTML电子邮件,或者您是否尝试显示包含大量图像,表格等的完全“设计”的新闻简报。如果只是前者,请进行一些快速实验通过简单地将br
和div
添加到已批准的代码列表中,我可以使大多数电子邮件看起来很棒,因此空格不会被删除。