代码之家  ›  专栏  ›  技术社区  ›  Eran

需要:灵活而安全的用户HTML嵌入技术

  •  1
  • Eran  · 技术社区  · 16 年前

    我们的软件管理图书馆、博物馆、档案馆等。我们希望让用户(即编目员,而不是访客)添加一些嵌入内容,如谷歌地图、YouTube视频等。我们希望解决方案尽可能灵活,因为每个嵌入内容提供商都有自己的格式。另外,我们不希望允许用户输入原始HTML,因为这会带来XSS安全风险,而且万一出现错误的HTML,可能会破坏我们周围的网页。

    我今天开始研究谷歌地图,但找不到一种方法来处理它。我不想让用户把嵌入的HTML代码片段复制到一个项目中;我不能嵌入提供的链接URL,因为谷歌不允许这样做;我不能让用户指定坐标,因为我不想使用谷歌地图JSAPI(这意味着提供了一个我们必须维护的内置解决方案)。

    这个问题并不是关于谷歌地图,但谷歌地图是相当有代表性的。我很想听听关于灵活而安全的HTML嵌入技术的建议。

    谢谢, 埃兰

    2 回复  |  直到 16 年前
        1
  •  2
  •   Ates Goral    16 年前

    Caja 为你工作?

    caja(发音为“ka ha”)是“虚拟的” iframes“:它允许您 不受信任的第三方HTML和 在您的页面和 还是要安全。恰亚

    • 更严格地控制代码的功能:
      • 没有重定向到仿冒网页:不受信任的代码所具有的窗口对象是由包含网页创建的假对象
      • 无恶意软件:所有对URL的请求都被代理
      • 无xss:dynamic html清理
    • 允许不受信任的代码为iframes中的当前代码提供比安全更大的权限。以下是一些可能性:
      • 浮动框架(“信息窗口”)
      • 框架不必是矩形的
      • 帧可以在没有当前笨拙协议的情况下进行通信
      • 读者可以广播有关当前文章的地理信息;地图小工具会跳到该位置,而新闻小工具会获取本地故事,而天气小工具则会拉高天气。
      • 同样,对于财务信息或娱乐信息
      • 可扩展的语法高亮显示程序可以具有标记文本但不会将内容泄漏到其他网站的插件。
      • 可以是位通道(只能发送信息)或代码通道(可以发送功能)
      • 托管页面可以控制谁与谁交谈
        2
  •  2
  •   sastanin    16 年前

    标记或其他轻型标记语言;用于嵌入的自定义宏 允许 代码段(如在wordpress.com上完成嵌入youtube视频)