Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何在web应用程序中安全地显示HTML电子邮件?_Asp.net Mvc_Email_Web Applications_Xss - Fatal编程技术网

Asp.net mvc 如何在web应用程序中安全地显示HTML电子邮件?

Asp.net mvc 如何在web应用程序中安全地显示HTML电子邮件?,asp.net-mvc,email,web-applications,xss,Asp.net Mvc,Email,Web Applications,Xss,在C#/ASP.NET MVC web应用程序中,我想显示从不可信来源收到的HTML电子邮件。有人知道是否有已知的最佳实践(甚至工具)可以“安全”地执行吗。据我所知,大多数网络邮件都会执行大量的预处理(禁用图像链接、删除脚本等) 有什么简单的方法比只显示文本更好吗?Joannes 最简单的方法是使用Web保护库的白名单服务过滤出潜在的恶意HTML: 至于实现更复杂的客户端行为,例如除非用户授权,否则阻止来自未知来源的图像,您可能希望尝试按照以下思路实现: 不要将完整的标记传递回客户端-而是将具有

在C#/ASP.NET MVC web应用程序中,我想显示从不可信来源收到的HTML电子邮件。有人知道是否有已知的最佳实践(甚至工具)可以“安全”地执行吗。据我所知,大多数网络邮件都会执行大量的预处理(禁用图像链接、删除脚本等)

有什么简单的方法比只显示文本更好吗?

Joannes

最简单的方法是使用Web保护库的白名单服务过滤出潜在的恶意HTML:

至于实现更复杂的客户端行为,例如除非用户授权,否则阻止来自未知来源的图像,您可能希望尝试按照以下思路实现:

  • 不要将完整的
    标记传递回客户端-而是将具有唯一ID属性的图像推送到默认的“无法显示图像”图标
  • 添加一个按钮或一些其他UI控件,用户可以在其中明确同意使用此方法显示图像
  • 在电子邮件查看控制器上构建一个操作方法,该方法返回一个JsonResult,其中包含图像ID及其src值的字典
  • 编写一个JavaScript方法,该方法将调用action方法,并在从action方法接收JsonResult时将适当的src值交换回原位
  • 希望这有帮助