JavaScript沙箱
當(dāng)前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
當(dāng)JavaScript第一次發(fā)布的時候,有一個可以理解的憂慮,那就是打開一個頁 面可能會直接在機(jī)器上執(zhí)行一段代碼。如果JavaScript中含有一些有害的代碼,比如刪除所有Word文檔,或者更糟的是,向腳本的編寫者復(fù)制這些 Word文檔,那該怎么辦呢?
為了防止這種情況發(fā)生,同時也為了讓瀏覽器的用戶放心,JavaScript構(gòu)建為只在沙箱中運(yùn)行。沙箱是一個受保 護(hù)的環(huán)境,在這個環(huán)境中,腳本不能訪問瀏覽器所在的計算機(jī)資源。 另外,瀏覽器所實現(xiàn)的安全條件高出并超過了JavaScript語言所建立的最低 條件。這些都定義在一個與瀏覽器相關(guān)的安全策略中,它決定了腳本能做什么不能做什么。例如,一個這樣的安全策略規(guī)定腳本不能與腳本所來源的域以外的頁面通 信。大多數(shù)瀏覽器還提供了定制這一策略的方式,這可以使腳本所運(yùn)行的環(huán)境限制變得更嚴(yán)或更松。 不幸的是,即便是有了JavaScript沙箱和瀏 覽器安全策略,JavaScript還是經(jīng)過了一段難熬的時光,黑客已經(jīng)發(fā)現(xiàn)并充分利用了JavaScript的一些錯誤,有些錯誤與瀏覽器無關(guān),有些錯 誤與瀏覽器有關(guān)。較嚴(yán)重的一個是跨站腳本(cross-site scripting,XSS)。這實際上是一類安全破壞(其中一些通過JavaScript,另一些通過瀏覽器的漏洞,還有一些通過服務(wù)器),它能夠?qū)е?cookie盜竊、暴露客戶端或網(wǎng)站的數(shù)據(jù),或?qū)е略S多其他的嚴(yán)重問題。 我們會在后面的章節(jié)中更詳細(xì)地討論XSS,以及如何防止XSS,還有其他 安全問題及其防治。我們將在第8章講述名聲不太好的小糖果——cookie。 CERT是在安全 問題方面最具權(quán)威性的網(wǎng)站,訪問網(wǎng)址http://www. cert.org/advisories/CA-2000-02.html可以找到一篇專門討論XSS的文章。CGISecurity.com網(wǎng)站上也有 一篇關(guān)于XSS的、有深度的FAQ文件,地址是:http://www. cgisecurity. com/ articles/xss-faq.shtml。 重要的是要知道:即使有部分瀏覽器供應(yīng)商的 一片好心,JavaScript還是很容易受到攻擊。然而,這并不應(yīng)該妨礙你對JavaScript的使用;通過理解問題的本質(zhì),遵循安全專家建議的步 驟,你可以防止大多數(shù)問題。 該文章在 2010/8/13 23:08:35 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |