【问题标题】:javascript cross-domain request iframe VS jsonpjavascript 跨域请求 iframe VS jsonp
【发布时间】:2011-11-17 09:15:42
【问题描述】:

我正在编写一个应用程序,我的客户端使用给定的 javascript,它将收集一些 HTML 数据并发布到我的服务器。我的服务器不会返回任何数据。

Iframe 和 Jsonp 是两个选项。我想知道考虑到我的情况,每种方法的优缺点是什么。其中一个是否存在安全漏洞?

另一个问题是我如何识别用户?说一个人复制了javascript并放在他的网站上。

【问题讨论】:

    标签: javascript json iframe cross-domain


    【解决方案1】:

    JsonP 允许您获得响应,而 iframe(大多数情况下)不能。 jsonP 的安全问题是他们必须相信您不会返回恶意 javascript,因为返回的“json”实际上只是任意 javascript,基本上是在其域的页面内进行评估的。如果你是邪恶的,你可以窃取他们客户的 cookie 或其他信息并将它们发送回你的服务器。

    【讨论】:

    • 等等。什么? JSONP 怎么会暴露来自另一个域的 cookie?
    • @rob 更新了问题。不知道你有没有第二部分的经验。
    • @gilly3 域 A 上的页面向域 B 发送 JSONP 请求。这是通过向 A 上的文档添加脚本标记来完成的,该标记从域 B 中拉取动态生成的脚本。域 B发回一个脚本,其中包含一条语句,该语句采用 document.cookies,将其打包到域 B 上的 url 中,并添加一个图像或脚本标签等,以使用该 url 命中域 B。现在域 B 的所有者只需查看他的日志,他就有了用户的 cookie。
    • @RuiXia 我可以对你问题的第二部分提出建议,但老实说,我认为这应该放在一个新问题中。
    • 有趣的是,链接脚本能够读取document.cookie。我认为同源政策会阻止这种情况。
    猜你喜欢
    • 1970-01-01
    • 2017-01-11
    • 2013-10-15
    • 2013-02-24
    • 2010-11-13
    • 2010-11-11
    • 1970-01-01
    • 2019-04-02
    • 2017-08-14
    相关资源
    最近更新 更多