限制功能只要最近在父浏览器窗口中试过执行self.close()的人就知道JavaScript会停止执行一些恶意的代码。但Web还很年轻并且JavaScript还很新的时候,一些人以关闭访问者的浏览器窗口为娱乐。几个月之后,父浏览器窗口的self.close()就成为了一个受限功能。 实际上,JavaScript中有许多受限功能。包括访问浏览器的历史记录、上载文件、提交、发送邮件、改变菜单栏、在一边打开一个会被用户忽视的小于100像素的窗口。 同源策略脚本只能读取和修改同源文档的属性。这种同源策略也涵盖端口和协议。所以,如果一个脚本的源端口是80并且协议是HTTP,那么就不能操作源为端口21及FTP协议的文档。这种限制逻辑是为了避免信息泄漏。设想我是一个不怀好意的家伙。如果没有同源策略,只要我的脚本在运行,我就可以提取任何另一个浏览器窗口中的信息并使用XMLHTTP或另一个方法将其发往我自己的Web站点。当然大多数的信息是无用的,但是也可能包含信用卡号等。这就看你数据挖掘的本事了! 同源策略不仅应用于文档,而且应用于浏览器cookie集。这防止那 |