当前位置: 首页 > 面试题库 >

相同来源策略-AJAX和使用公共API

荆利
2023-03-14
问题内容

我知道我的用户是否在自己的网页上:http :
//www.example.com/form.php

然后我从该页面向以下地址发出ajax请求:http :
//example.com/responder.php

由于同源策略(子域不同),它将失败。

我想理解的是,当请求和服务器明显不同时,AJAX请求如何从flickr之类的API中提取数据。

编辑:

例如:为什么此代码有效?

$.getJSON('http://api.flickr.com/services/rest/?&;method=flickr...'

(引用此社区Wiki)是否使用跨源资源共享?

谢谢!


问题答案:

很少有已知方法可以解决“同源起源策略”。一种流行的技术是使用“脚本标签注入”,例如JSONP。由于<script>标记不受“相同来源策略”的约束,因此第三方域上的脚本可以提供与提供的回调函数进行交互的可执行代码。您可能想查看以下文章中的“技巧和窍门”部分,以进一步阅读该主题:

  • 如何动态插入Javascript和CSS(hunlock.com)

您可能也有兴趣查看以下Stack Overflow帖子,以进一步阅读可解决Same Origin策略的其他技术:

  • 规避原产地政策的方法

更新: 进一步更新的问题:

引自jQuery文档$.getJSON()

如果URL包含字符串“ callback =?” 在URL中,该请求将被视为JSONP。



 类似资料:
  • Chrome允许我们禁用同源策略,因此我们可以测试跨源请求。我想知道在IE中是否有可能做同样的事情

  • 同源策略 浏览器的同源策略是 Web 安全的基石,它对从一个源加载的文档或脚本如何与来自另一个源的资源进行交互做出了限制。这是一个用于隔离潜在恶意文件的关键的安全机制,每个源均与其余网络保持隔离,从而为开发者提供一个可进行构建和操作的安全沙盒。 如果没有同源策略, Web 世界就变得非常不安全,拿浏览器中的 cookie 来说,当你登录 a 网站,同时打开 b 网站,b 网站能获取你 a 网站的

  • 同源策略是用来限制从一个源加载的文档或脚本如何与其他源的资源进行交互的很重要的安全机制,这有助于隔离存在潜在威胁的文档,并减少可能的攻击向量。 关于「源」 网络内容的「源」是由在访问它时所用的 URL 的协议、主机(域名)和端口来定义的,只有当这三者在正在交互的两个对象中完全相同时才会被认为是「同源」。 下表给出了与 https://ourai.ws/categories/ 进行源比较的例子: U

  • 假设我拥有2个域www.xyz.comajax.xyz.com.我想从前缀为www的站点加载我的超文本标记语言和javascript,然后向前缀为ajax的站点执行ajax请求。同源策略会阻止我的ajax请求从www.xyz.comajax.xyz.com还是在不使用访问控制允许源标头的情况下工作。 问候

  • 本文向大家介绍Javascript同源策略相关面试题,主要包含被问及Javascript同源策略时的应答技巧和注意事项,需要的朋友参考一下 同源策略是Javascript重要的安全度量标准。它最早出自Netscape Navigator2.0,其目的是防止某个文档或脚本从多个不同源装载。所谓的同源就是同协议,同主机名,同端口号。 它的精髓很简单:它认为自任何站点装载的信赖内容是不安全的。当被浏览器

  • 同源策略 上一节介绍 CSP 时,我们提到了浏览器的同源策略,同源策略是 Web 安全的基础,它对从一个源加载的资源如何与来自另一个源的资源进行交互做出了限制。这是一个用于隔离潜在恶意文件的关键安全机制,每个源均与其他网络保持隔离,从而为开发者提供一个可进行构建和操作的安全沙盒。 如果没有同源策略,Web 世界就变得非常不安全,拿浏览器中的 cookie 来说,当你登录 A 网站,同时打开 B 网