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 編輯過 |
關鍵字查詢
相關文章
正在查詢... |