我期待開發一個網站來承載HTML5遊戲。由於這些遊戲有機會包含惡意JavaScript,我想知道如何設置一個安全的環境來託管它們。安全地在iFrame中執行HTML5/Javascript
這似乎像一個iframe嵌入遊戲的答案,但我是比較新的網站開發,這樣一些問題:
是有安全地主機上的遊戲的簡單方法相同的域,或...
遊戲是否必須託管在不同的域,然後嵌入到iframe中,以便它不能與父文檔進行交互?
如果遊戲在託管於另一個域時執行,它是否可以以任何惡意方式與該主機域進行交互?
我期待開發一個網站來承載HTML5遊戲。由於這些遊戲有機會包含惡意JavaScript,我想知道如何設置一個安全的環境來託管它們。安全地在iFrame中執行HTML5/Javascript
這似乎像一個iframe嵌入遊戲的答案,但我是比較新的網站開發,這樣一些問題:
是有安全地主機上的遊戲的簡單方法相同的域,或...
遊戲是否必須託管在不同的域,然後嵌入到iframe中,以便它不能與父文檔進行交互?
如果遊戲在託管於另一個域時執行,它是否可以以任何惡意方式與該主機域進行交互?
跨站點腳本和cookie的超範圍將是一個非常值得關注的問題。使用瀏覽器的「相同來源策略」將成爲您防範這一問題的有效方法。 ref1ref2
coolgames.com
vs mycoolgames.com
) - 這會將代碼的原始範圍與他們分開。bob.mycoolgames.com
,dave.mycoolgames.com
) - 這將有助於隔離不同開發者的來源。每個人都需要小心,不要將cookie的範圍限制爲.mycoolgames.com
,否則他們會過度曝光。您可能還希望通過在現代瀏覽器中使用新的Content Security Policy支持來進一步保護您自己的應用程序。這將有助於mitigate對clickjacking attacks。
對於I幀:
你能解釋爲什麼你認爲你需要在所有使用iframe?良好的老式鏈接有什麼問題?
如果圖形設計規定必須使用iframe,那麼您可以輕鬆將所有嵌入式遊戲iframed放入www.mycoolgames.com上的動態頁面,在此您不會保留任何敏感的系統,數據或代碼 - 保留所有用戶身份驗證系統,CMS系統和數據僅適用於* .coolgames.com上的應用程序
謝謝!有關子域的信息尤其有用。 – Matthew 2012-01-12 12:24:02
@Matthew更新爲包含iframe和clickjacking問題 – Cheekysoft 2012-01-12 12:52:57
謝謝。我可以問你最後一行的含義:「我個人會......」?你的意思是隻是將網頁重定向到網站上的託管遊戲? – Matthew 2012-01-12 13:07:49
iframe + secure =問題總是......請閱讀http://msdn.microsoft.com/en-us /library/bb735305.aspx http://stackoverflow.com/questions/229624/secure-iframe-on-unsecure-page-in-a-different-domain http://www.iframehtml.com/iframe-security.html – 2012-01-12 12:52:42
@DmitryBoyko感謝您的鏈接。很有用。儘管如此,還有什麼其他選擇比使用iframe來完成呢? :) – Matthew 2012-01-12 13:36:48