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