HTML邮件执行JAVASCRIPT
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=GB2312"></HEAD><BODY style="border-width:0px" ><script type='text/javascript'>function openWin(){window.open('http://www.tom.com');}</script><a href='javascript:void(0);' onclick='openWin()'>打开</a>
</BODY></HTML>
以上代码放到文本编辑器上能执行,但放到OUTLOOK 2000、FOxMAIL中不能执行,有什么办法能让HTML邮件执行JAVASCRIPT脚本吗?
[解决办法]
感觉 OUTLOOK 2000、FOxMAIL 之类的软件没有实现 javascript 的解释。 因为这类的软件的主要需求是用来接收和发送email,而不关心email的具体的内容,即不管是一般文本还是 html文本,所以,在这些软件的环境下,应该是不可能实现运行javascript 。
不知道是否正确,希望知道的说说。
另外,如果把html 文本的邮件发送到 web 邮箱 比如 Gmail , 它一般会对内容进行过滤,包括<style> 之类的标签都过滤掉了,更不用说<script> 了。
[解决办法]
在默认情况下,Outlook 2002是不允许执行Javascript脚本的,因为它可能被一些蠕虫病毒或者恶意代码使用HTML来利用。但是,通过Media player可以绕过执行Javascript这个限制,并去在HTML中执行javascript或者ActiveX。
1、当IFRAME标签在HTML中使用,并且可以指向一个WMS文件(Windows Media Skin),WMS可以通过网站或者邮件附件使用CID:protocol装载。
2、因为WMS文件被认为是安全的,因此Media Player就可以在Outlook中自动运行。
3、WMS可以包含一段JAVASCRIPT脚本使用player.lauchurl()方法,这会在Media Player装载WMS文件的时候执行。
4、通过上面的步骤,就可以打开一个网页了。
除WMS外,其他的文件类型比如:WMZ、WMD、WMA文件同样能够执行步骤一。这只是Outlook和Media Player的安全特性缺陷,而不是一个安全漏洞。Outlook express及其早期版本即使把安全保护设置到最大限度,仍然存在这些安全问题。Hotmail还没有发现存在这个问题,因为它不支持IFRAME。
解决办法:
1、Outlook2002不应该去执行IFRAME标签,除了HTML、TXT所有的文件类型都应该在IFRAME中屏蔽掉。
2、所有的Media Player文件(ASX、WMS、WMZ、WMD、WMA等)都不应该被标志为安全的文件类型。
3、about.和javascript. protocol都应该在player.lauchURL()中屏蔽掉