JavaScript沙箱
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
当JavaScript第一次发布的时候,有一个可以理解的忧虑,那就是打开一个页 面可能会直接在机器上执行一段代码。如果JavaScript中含有一些有害的代码,比如删除所有Word文档,或者更糟的是,向脚本的编写者复制这些 Word文档,那该怎么办呢?
为了防止这种情况发生,同时也为了让浏览器的用户放心,JavaScript构建为只在沙箱中运行。沙箱是一个受保 护的环境,在这个环境中,脚本不能访问浏览器所在的计算机资源。 另外,浏览器所实现的安全条件高出并超过了JavaScript语言所建立的最低 条件。这些都定义在一个与浏览器相关的安全策略中,它决定了脚本能做什么不能做什么。例如,一个这样的安全策略规定脚本不能与脚本所来源的域以外的页面通 信。大多数浏览器还提供了定制这一策略的方式,这可以使脚本所运行的环境限制变得更严或更松。 不幸的是,即便是有了JavaScript沙箱和浏 览器安全策略,JavaScript还是经过了一段难熬的时光,黑客已经发现并充分利用了JavaScript的一些错误,有些错误与浏览器无关,有些错 误与浏览器有关。较严重的一个是跨站脚本(cross-site scripting,XSS)。这实际上是一类安全破坏(其中一些通过JavaScript,另一些通过浏览器的漏洞,还有一些通过服务器),它能够导致 cookie盗窃、暴露客户端或网站的数据,或导致许多其他的严重问题。 我们会在后面的章节中更详细地讨论XSS,以及如何防止XSS,还有其他 安全问题及其防治。我们将在第8章讲述名声不太好的小糖果——cookie。 CERT是在安全 问题方面最具权威性的网站,访问网址http://www. cert.org/advisories/CA-2000-02.html可以找到一篇专门讨论XSS的文章。CGISecurity.com网站上也有 一篇关于XSS的、有深度的FAQ文件,地址是:http://www. cgisecurity. com/ articles/xss-faq.shtml。 重要的是要知道:即使有部分浏览器供应商的 一片好心,JavaScript还是很容易受到攻击。然而,这并不应该妨碍你对JavaScript的使用;通过理解问题的本质,遵循安全专家建议的步 骤,你可以防止大多数问题。 该文章在 2010/8/13 23:08:35 编辑过 |
关键字查询
相关文章
正在查询... |