Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 了解跨域的内容和AJAX_Javascript_Ajax_Xss_Same Origin Policy - Fatal编程技术网

Javascript 了解跨域的内容和AJAX

Javascript 了解跨域的内容和AJAX,javascript,ajax,xss,same-origin-policy,Javascript,Ajax,Xss,Same Origin Policy,我对两件与跨域相关的事情有点困惑 假设我有2个域;mydomain.com和otherdomain.com 现在在mydomain.com上,允许从otherdomain.com访问的所有内容是什么? 我的意思是我们可以 <img src="otherdomain.com/xyz.jpg"> 同样,我们可以在iframe src中直接使用otherdomain.com吗?默认情况下,什么是允许的? 如何防止从otherdomain.com的perspective访问 第二部分与

我对两件与跨域相关的事情有点困惑

假设我有2个域;mydomain.com和otherdomain.com

现在在mydomain.com上,允许从otherdomain.com访问的所有内容是什么? 我的意思是我们可以

<img src="otherdomain.com/xyz.jpg">

同样,我们可以在iframe src中直接使用otherdomain.com吗?默认情况下,什么是允许的? 如何防止从otherdomain.com的perspective访问

第二部分与JavaScript/AJAX相关。 脚本相关的东西中是否默认阻止了otherdomain内容? 使用AJAX,默认情况下我是否可以请求otherdomain.com?允许吗?如果不允许,如何从otherdomain.com获取响应

非常感谢。

请阅读

无法从其他域读取(除非它允许您读取)

您可以显示或执行来自其他域的内容(例如,使用图像、帧或脚本标记),但不能直接从代码中读取内容。
因此,您不能向另一个域发送AJAX请求,也不能读取从另一个域加载的图像、帧或脚本标记的内容

允许从otherdomain.com访问哪些内容?我的意思是我们可以有

您需要区分“显示”和“访问”。您可以包含图像,但无法访问其数据,因为存在错误

同样,我们可以在iframe src中直接使用otherdomain.com吗?默认情况下,什么是允许的

您可以包含所有可以链接的内容,从样式表、脚本、图像到通过框架的整个页面。从其他域执行脚本实际上是获取数据的标准方法,称为;包括来自第三方CDN的资源也很常见

如何防止从otherdomain.com的perspective访问

您可以使用防止通过帧包含,这应该得到大多数浏览器的尊重

您可以尝试避免使用错误的
REFERER
标题回答请求(发送404内容),但这不是一种可靠的方法,因为REFERER通常被浏览器禁用或被防火墙阻止

第二部分与JavaScript/AJAX相关。脚本相关的东西中是否默认阻止了otherdomain内容?使用AJAX,默认情况下我是否可以请求otherdomain.com?允许吗

否,对数据的访问被阻止。您可以发送请求,但除非发送请求以明确允许响应,否则脚本将无法使用响应

如果不允许,如何从otherdomain.com获取响应

您可以在mydomain.com上使用

我们可以要

是的,我们可以有这个和任何其他资源,如图像,视频和音频文件,zip,pdf

我们可以直接在iframe src中使用otherdomain.com吗

默认情况下,我是否可以向otherdomain.com发出请求?允许吗

不,出于安全原因

如果otherdomain.com没有响应,可以做些什么 允许吗

如果你拥有otherdomain.com,你可以使用jsonp和一些php工具

http://remysharp.com/2007/10/08/what-is-jsonp/

你读过这篇文章吗:它回答了你所有的问题。是的,我已经读过这篇文章,还有很多其他的东西……但是被不同的来源弄糊涂了……事实上,如果另一个域设置正确,您可以在另一个域中使用AJAX,这是一种叫做@TedHopp的技术。这就是为什么我说
,除非它允许您
。不清楚限定符是否应用于您的最后一句话。例如,可以将其解释为应用于
标记。(服务器可以根据引用页面阻止对任何资源的访问。)实际上,您可以发出ajax请求。但是只有在允许的情况下才能阅读回复。Thx很多…你能不能更详细地说明你说过的几点…比如当你说无法访问图像数据时…这是什么意思?同样对于远程脚本执行,JSONP是唯一的选项吗?另外,我如何实际实现X-FRAME-OPTIONS?另外,我如何设置CORS头以允许从其他域访问?所谓“图像数据”,我指的是访问像素数据,例如在画布上绘制图像时。“远程脚本执行”可以是任意脚本,JSONP只是它的一个应用程序。对于其他内容,搜索一些教程/因此关于它们的问题,在网上有很多关于它们的信息。