2011-08-20 118 views
0

是否有反向限制Javascript獲取,發送請求到指定的域名? 也可以以某種方式禁用JSONP?防止JavaScript GET和腳本

我想開發一個網頁內容框架,人們可以在不同的頁面中包含JavaScript,但我不希望這些腳本訪問任何其他域。

我熟悉firefox的「內容安全策略」,但不幸的是,這隻適用於firefox。

回答

2

默認爲「禁用」。如果你想「允許」json,你將不得不添加jsonp回調。沒有它,js無法檢索json響應。

+0

好吧,也許我不夠清楚。我想讓人們添加應用程序/插件到他們的網站(社區爲我的框架編寫的插件)。這些第三方應用程序是JavaScript應用程序,它們在HTML頁面的其餘部分以相同的上下文/頁面運行。我不想讓這些javascript中的任何一個腳本調用另一臺服務器。正如你所看到的,他們可以簡單地在源代碼中添加一個jsonp回調函數,並且我的用戶不能做任何事情(除非他們去檢查每個插件的每一行) – Reza

+0

@Reza:所以你只需要驗證這些mods,作爲phpBB做... – genesis

+0

我在想也許唯一的辦法是有插件/應用程序作爲iframe解決方案類似於Facebook的做法。但我不確定這是否是唯一可行的解​​決方案 – Reza

0

而不是讓用戶選擇任意javascripts,你可以讓他們從批准的腳本列表中選擇,並拒絕編輯,如果腳本不包括在正確的域? 或者你可以使用某種自定義標記,而不是被允許寫入-tags,他們寫[include =「pluginname」],然後你自己將它轉換爲腳本標記,它的名字是給定的插件發現了什麼?

內容安全政策在Chrome中的支持也有限,但目前它並不是你想要的,因爲它在市場上的支持和滲透是有限的。

+0

實際上,人們爲這些插件所做的事情是,他們正在構建自己的框架。看看netvibes和iGoogle的widget標準。 – Erlend

+0

是否有任何開源工具可以做到這一點?也許一個紅寶石DSL轉換爲JavaScript? – Reza