扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
到目前为止,最安全的浏览电子邮件的方式就是以纯文本方式浏览。那么电子邮件客户端怎么才能让丰富内容的电子邮件更安全的呈现在用户眼前呢?
--------------------------------------------------------------------------------------------
在上一篇文章《为什么发明HTML邮件是馊主意》我演示了如何通过简单的纯文本浏览方式避免邮件内安全隐患的方法。当然,肯定会有人给我们发送HTML格式的电子邮件,而我们在浏览这些电子邮件的时候也完全可以不去考虑文字排版的问题,仅仅用纯文本方式来阅读。
虽然我希望不是这样,但实际上很少有人会在收到一些没有必要以HTML格式编写的邮件后转换为纯文本方式阅读。这不仅是因为当前大部分流行的电子邮件客户端都是将HTML作为默认的电子邮件格式,还因为大多数人都已经习惯并且喜爱使用“信纸”这种带有背景图片,华丽的字体以及其它有趣效果的HTML邮件格式了,尽管他们的邮件内容可能只是“好久没见,你还好吗?”“你在做什么呢?”这样简单的对话内容。幸运的是,很多电子邮件客户端出于安全考虑,简化了HTML邮件的代码,同时尽可能的保留了邮件布局,这种简化有时候连用户也无法察觉。
但是有时候,我们的邮件客户端无法处理复杂的HTML代码,并将其转换为简单的纯文本方式。产生这种现象的原因很多,有可能是HTML代码的问题导致无法转换为纯文本;也可能是网站开发人员在设计自动反馈脚本时没有采用更好的方式;甚至有可能是用户关闭了纯文本功能。另外,有些用户的邮件客户端程序过于古老,只能支持HTML格式。
不管怎么样,事实上我们需要的只是可以将邮件内容从一个HTML格式的邮件中提取出来而又不需要什么复杂操作的方法。但是可供选择的方法少之又少:
1. 放弃安全性,直接看 HTML邮件,不论是通过支持HTML的邮件客户端还是别的什么可以浏览HTML文件的软件。
2. 麻烦一些,自己直接看代码。
3. 删除违反规定的邮件,要求对方再发送一封没有太多HTML代码的邮件。
我曾经一直使用第二种方案。但是在一段时间后,我决定自己编写一个简单的脚本来过滤电子邮件中多余的HTML代码,以便能看到纯文本文件。随着时间的推移,我逐渐给这个脚本添加功能,包括将HTML的换行标记转换为纯文本中的换行输出。如果采用Ruby 编程语言,或者Mutt这样高度功能化的文本模式邮件客户端软件,这些功能实现起来是非常简单的。不过对于普通用户来说,这种方法的难度还是太大了,而且,技术人员也不是很乐意去采用这种方式,尤其是那些在非微软平台上工作的人员,他们可以利用的此类开发工具更少。
我所使用的脚本越来越向Markdown 这样的文本解析库相反的方向发展了。这类文本解析库会定义一个简单的标记语言,并将用户输入的纯文本转换为这种语言的标准格式,比如将纯文本转换为 HTML 或XHTML格式。实际上,我是使用Vim 输入本文,并手动输入Markdown格式标记符,然后使用Markdown库运行脚本,将整个文本格式转换为带有Web标记的格式,然后发表在TechRepublic上的。
如果进一步进化,我自己写的脚本就会变成上述过程的反过程:它会将 HTML 或 XHTML格式的文件通过简单的文本格式标记(比如换行符或其他符号),转换为文本文件,而不会将整个文档搞得支离破碎,无法阅读。
不过目前来说,我的这个脚本仍然只能算是一个黑客工具。就算代码干净并且可以发放给其它用户,它仍然不是正规的工具。而用户真正需要的,是邮件代理或者邮件客户端能够将我这个脚本中的功能作为Unix MUAs官方插件或主流GUI邮件客户端软件的内置功能提供给客户。
一般来说,任何邮件客户端的“安全模式”都应该能够给客户提供一系列功能。比如:
1. 禁止内嵌的图片,Flash对象或者任何非文本类对象显示。
2. 禁用链接文字后的隐藏URL,避免粗心大意的用户随意点击链接,从而导致进入网络钓鱼网站。
3. 禁止执行任何动态内容,尤其是包括JavaScript, VBScript,以及类似的程序语言。
这个列表还可以写很长,但是我所写出来的都是必须要遵守的,而另外诸如斜体字,粗体字,下划线,彩色字以及字符位置的改变(如通过表格或CSS定位)等并不带有任何隐藏内容的部分,并不需要禁用。另外对于任何非标准ASCII字符也要清楚的标明,以防有些人将URL地址从邮件中拷贝到浏览器中。
最后,我希望大家都能像我一样,清楚普通的HTML邮件可能存在的安全隐患, 并且能够主动浏览经过精简的电子邮件,以避免HTML邮件可能给我们带来的风险。
另外,如果你能主动将纯文本邮件作为默认的邮件发送格式,我将非常感激你。考虑到大量的垃圾邮件和网络钓鱼邮件都采用HTML格式,而大部分合法用户在他们的邮件中主要还是以文本为主,因此我的垃圾邮件过滤器总是将所有只采用HTML发送的邮件列为高危邮件。如果您的来信我没有回复,并且您采用的是HTML格式,那么我想您应该知道,我可能根本就没有看到您发给我的邮件。
我对安全的重视程度要远高于邮箱中不请自来的邮件。与我平常在其它方面尽可能避免误报的策略相反,在面对垃圾邮件时,我也会接受一些邮件误报,宁可过滤掉正常的邮件,也要确保不会有垃圾邮件来影响我电脑的安全性。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者