我已经建立了一个电子邮件系统,当你在数据库中为用户发送了一封电子邮件,但什么是问题是图像将不会显示,但必须指定它必须像爱出现在这里的图片,你可以看到:
http://billedeupload.dk/images/TaWuJ.png
我只是喜欢所有可能的其他网站,如facebook,他们的徽标一直都在那里。我只是喜欢同样的方式,图像也可以一直显示,而不需要用户做任何事情。
我就是这样做的:
<div style="background:#666; color:#FFF; margin:0 auto; width: 960px;">
<img src="http://www.blabla.dk/indhold/img/banner-2.png">发布于 2013-03-29 23:13:23
你写的代码是完全正确的。默认情况下,图像不会显示在GMail、ThunderBird等许多邮件客户端中。您需要单击Display Image链接。这个过程不能自动化。这是一种防止CSRF的安全措施。
一些参考资料如下:
默认情况下,Gmail会阻止邮件中的图片,直到你让它显示图片,从而保护你的电子邮件不受垃圾邮件的侵扰。这很好,但是当你想要查看联系人的图片时,这有点麻烦。
Gmail now doesn't display images in my email. - Google Groups
默认情况下,更改为使用
后,您与Gmail的连接将通过HTTPS加密。但是,您可能会收到一些消息,例如广告和时事通讯,其中可能包含不是通过HTTPS而是通过HTTP发送的图像。
浏览器(如Internet Explorer )将弹出警告,指示您在通过HTTPS连接到Gmail时,可能正在尝试访问通过HTTP发送的内容。这就是为什么为Internet Explorer启用混合内容显示对某些人有帮助的原因。但是,当启用HTTP内容显示时,请谨慎操作,因为某些站点可能包含浏览器设置试图保护您免受的危险或恶意内容。
Why do emails not load images directly
电子邮件提供商,如Gmail,雅虎,hotmail不直接在电子邮件中加载图像。这些服务要求您允许加载镜像。他们为什么要这么做?是为了防止XSS/CSRF吗?
两个原因-隐私和CSRF。
隐私
它允许发件人在我不知情的情况下确定我是否打开了电子邮件。垃圾邮件发送者可以找出他们的“营销”活动是否产生了任何影响。
CSRF
要使CSRF正常工作,受害者必须单击链接或访问攻击者页面。如果电子邮件客户端要自动显示图像,只需打开电子邮件就足以发动CSRF攻击。
例如,让我们假设paypal有一个csrf漏洞。还假设用户已登录到paypal。现在,攻击者向用户发送一封带有<img src="http://paypal.com/transferfunds?fromAccount=victim&toAccount=attacker"/>的电子邮件。用户一打开电子邮件,资金就会被转账。
https://stackoverflow.com/questions/15705960
复制相似问题