Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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 Facebook中奇怪的JSONP响应_Javascript_Ajax_Jsonp - Fatal编程技术网

Javascript Facebook中奇怪的JSONP响应

Javascript Facebook中奇怪的JSONP响应,javascript,ajax,jsonp,Javascript,Ajax,Jsonp,我想知道使用以下JSONP响应语法的原因是什么: 在URL下: 有: for (;;); {"t":"heartbeat"} {"t":"heartbeat"} {"t":"continue","seq":0} 我的问题是,到底为(;;)做了什么在这个JSONP响应中。它是如何解析的?这是出于安全原因。JSONP实际上不是JSON,它是一个执行的JavaScript文件 (;;)的存在,因此,如果Facebook之外的人试图访问该文件,他们就无法访问 注意:这不是JSONP,但您的浏览器不知道

我想知道使用以下JSONP响应语法的原因是什么:

在URL下:

有:

for (;;); {"t":"heartbeat"}
{"t":"heartbeat"}
{"t":"continue","seq":0}

我的问题是,
到底为(;;)做了什么在这个JSONP响应中。它是如何解析的?

这是出于安全原因。JSONP实际上不是JSON,它是一个执行的JavaScript文件

(;;)的
存在,因此,如果Facebook之外的人试图访问该文件,他们就无法访问


注意:这不是JSONP,但您的浏览器不知道这一点。它将尝试运行它,然后陷入无限循环。

这不是JSONP;它是JSON,如果用作JSONP,它会被巧妙地修改为失败

如果在
标记中包含该URL,它将在infinte
for
循环中冻结浏览器


这可以防止攻击者将其包含在外部站点中,并调用
对象。defineProperty
创建setter函数并绕过SOP。

我看到没有函数调用,但技术似乎与之类似;技术恰恰相反。