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

Javascript API中的安全性

  •  2
  • Josh  · 技术社区  · 14 年前

    我试图做的是构建一个javascript库,该库将接收外部网站上经过身份验证的用户,并将一些标识信息安全地传递给我的服务器,以检索web内容,然后这些内容将在外部网站上的iframe中提供。

    现在,我的问题是Javascript不安全。这实际上是个大问题。

    假设

    1. 拥有外部站点的公司可能几乎没有IT基础设施。
    2. 我将无法访问他们的服务器或代码。出于这个原因,我想让他们在页面上抛出一个javascript include和几行html/javascript。
    3. 外部站点可以是任何语言,并且托管在任何平台上。我的后端是.net 4.0

    如何安全地从外部服务器获取用户详细信息,同时确保不会发生篡改?欢迎提出任何建议或意见。

    2 回复  |  直到 14 年前
        1
  •  3
  •   Pekka    14 年前

    据我所见,这不能用纯JavaScript完成。

    你会 总是 必须与远程服务器对话并询问其用户是否真正登录。从JavaScript获得的任何东西都是不可靠的,因为它可以自由伪造。

    您可以让远程服务器向JavaScript提供一个随机令牌,然后再将其发送到您的服务器(就像会话ID一样)。然后,服务器可以询问远程服务器令牌是否有效,并显示必要的数据。

    不过,如果没有远程服务器的参与,它将无法工作。不可能的。

        2
  •  1
  •   Ran Bar-Zik    14 年前

    最安全的方法是使用flash。它也没有那么安全。

    JavaScript的问题是,来自用户的每个输入输出都是可用的,并且由于用户可以看到源文件(无论它们存储在什么地方),所以不能散列这些文件。

    你可以用flash文件作为缓冲区。远程服务器将数据发送到JavaScript,JavaScript将数据发送到flash。因为不使用反编译,flash源代码就不可用。flash正在获取数据并将数据散列发送到服务器。

    有关更多参考信息,请参见flxhr的工作原理: http://flxhr.flensed.com/