2012-03-13 124 views
0

如您所知,Pagedown是一款相當不錯且簡單的編輯器,但我想擴展其功能。到目前爲止,我已經成功地嵌入了視頻,所以添加視頻後,您可以在預覽窗口中看到它。顯然,我必須包含一個iframe以允許這種行爲,但是,我有點擔心它的安全性。添加客戶端iframe的安全性

你能告訴我iframe這種使用背後隱藏着什麼樣的危險?顯然,唯一的目的是讓用戶看到他/她的文章的樣子,所以這只是客戶端,但你永遠不知道什麼時候使用框架。

例如,如果我只允許來自某些域(YouTube)的視頻,或者甚至會暴露安全漏洞,它會好嗎?

順便說一句,谷歌Chrome給我這個可愛的警告:

不安全的JavaScript嘗試與URL 文件訪問框架:/// somethinglocaladdress從 框架與URL http://www.someaddress.com。域, 協議和端口必須匹配。

這是什麼(谷歌瀏覽器的警告)我應該關注?

UPDATE:注意我對phpgeek的評論。看來我正在覆蓋他的建議,但我想獲得更多答案,以確保我正確地做到了這一點。

謝謝!

回答

2

我不認爲這是你需要太過關注的東西。

關於安全 - 谷歌實際上是在這裏解釋它做了很好的工作:http://blog.chromium.org/2008/12/security-in-depth-local-web-pages.html

谷歌也並勾勒大多數其他瀏覽器如何處理IFRAME安全存在(至少在舊版本)。

除此之外,如果您的問題主要涉及與您的服務器有關的安全漏洞,我不認爲這會造成問題。

您還可能有興趣在檢查此頁指出:http://code.google.com/p/browsersec/wiki/Part2#Origin_inheritance_rules

+0

+1。謝謝。非常豐富。 – 2012-03-20 16:46:57

1

Google cross site scripting或xss。危險在於一幀中的JavaScript可以假設地影響包括父代在內的其他框架中的JavaScript。現代瀏覽器設置爲在一定程度上阻止他,這就是爲什麼你在Chrome中得到警告。

我會非常小心地給予用戶這個能力。您最好使用模板並讓用戶提供源代碼的URL。如果需要,您可以通過域限制視頻。 YouTube爲他們的播放器提供了一個模板,可以在父框架上運行,如果我沒有錯,它只能用於YouTube視頻。只是有用戶提供的網址,並將其添加到您的數據庫以外的職位

+0

+1。感謝您的回答。實際上,我使用的是模板,用戶可以引入YouTube提供的用於嵌入視頻的代碼,但我將提取寬度,高度和視頻標識以在框架中使用它。我希望我只能使用網址,但我需要在預覽div中控制視頻的大小。 – 2012-03-13 06:00:19