2009-01-25 76 views
1

我们的软件管理图书馆,博物馆,档案等。我们希望让用户(即编目人员,而不是访客)添加一些嵌入式内容,例如Google地图,YouTube视频等等。我们希望解决方案尽可能灵活,因为每个嵌入式内容提供商都有自己的格式。 OTOH,我们宁愿不允许用户输入原始的HTML,因为这会强加XSS安全风险,并且如果出现错误的HTML,可能会使我们的周围网页失效。需要:灵活而安全的用户HTML嵌入技术

我今天开始研究Google地图,但找不到处理它的方法。我不想让用户将嵌入的HTML代码片段复制到一个项目中;我无法嵌入提供的链接网址,因为Google不会允许它;我不能让用户指定坐标,因为我不想使用Google Maps JS API(这意味着提供一个内置的解决方案,我们必须维护)。

这个问题不是专门针对谷歌地图,而是谷歌地图颇具代表性。我很想听听有关灵活而安全的HTML嵌入技术的建议。

谢谢, 叶兰

回答

2

Caja会为你工作吗?

卡哈(发音为“KA-HA”)是“虚拟 I帧”:它可以让你把 不受信任的第三方HTML并在页面的JavaScript 内联和 仍然是安全的。卡哈

  • 给出了什么样的代码可以做更严格的控制:
    • 没有重定向到钓鱼网页:window对象不受信任的代码已经被包含页
    • 没有恶意软件创建一个假的:到URL的所有请求都代理
    • 没有XSS:动态HTML清理
  • 允许不可信代码的功率比是安全的,给代码CURR在iframes中。这里有一些可能性:
    • 浮动框架(“信息窗口”)
    • 帧不必是矩形
    • 帧可以不使用目前尴尬的协议进行通信
    • 读者可以广播有关的地理信息目前的文章;一个地图小工具跳转到的位置,而新闻小工具,获取当地的故事和天气小工具拉起天气
    • 同样,对于财务信息或娱乐信息
    • 一个可扩展的语法高亮可以有一个可以标记文本插件,但不泄漏的内容到另一个网站
    • 可有点通道(只能发送信息)或码道(可以发送功能)
    • 托管页面可以控制谁与谁沟通
+0

谢谢,我没有意识到这一点! 不过,尽管据说MySpace和雅虎正在使用它,但它似乎并未准备好广泛使用。此外,我尝试在演示程序中运行Google地图,但无法使其工作。我可能错过了一些东西,但真的很有效率吗? – eran 2009-01-25 16:12:21

2

减价或用于标记其它轻质标记语言;自定义宏嵌入允许片段(看起来像它是在wordpress.com上嵌入youtube视频)