我正在开发托管 CMS,并且正在考虑允许站点编辑器添加自定义 javascript 和 html(一个非常需要的功能)。
我担心这会打开一个攻击媒介——讨厌的 js 可能会调用我们托管的 CMS 公开的功能(有关用户脚本对 myspace 所做的示例,请参阅Samy 蠕虫),但我真的想给用户控制权在他们的网站上(你不能添加自己的聪明东西的 CMS 有什么意义?)
解决此问题的好方法是什么?我能想到几个我想评论的,但我不打算列出它们,因为害怕“没有列出问题的模组”!
我正在开发托管 CMS,并且正在考虑允许站点编辑器添加自定义 javascript 和 html(一个非常需要的功能)。
我担心这会打开一个攻击媒介——讨厌的 js 可能会调用我们托管的 CMS 公开的功能(有关用户脚本对 myspace 所做的示例,请参阅Samy 蠕虫),但我真的想给用户控制权在他们的网站上(你不能添加自己的聪明东西的 CMS 有什么意义?)
解决此问题的好方法是什么?我能想到几个我想评论的,但我不打算列出它们,因为害怕“没有列出问题的模组”!
我怀疑Caja在你的名单上,所以我会提到这正好在 Caja 的用例中;例如,Google Sites非常像 CMS,使用 Caja 嵌入任意 JS 和 HTML。
Caja 主机页面可以提供任意附加接口供沙盒内容使用,例如,可以包括将 CMS 提供的小部件嵌入到用户提供的 HTML 中,同时保持封装。
(披露:我在 Caja 团队为 Google 工作。)