首页 > web前端 > js教程 > 正文

为什么 Google 在其 JSON 响应中添加'while(1);”?

Linda Hamilton
发布: 2024-11-16 10:16:03
原创
593 人浏览过

Why Does Google Prepend

了解 Google 的 JSON 响应中的前置代码

Google 经常添加前言“while(1);”到其私有 JSON 响应的开始。这种做法引发了对其目的的质疑。

防止 JSON 劫持

此前置代码的主要原因是阻止 JSON 劫持。JSON 劫持是一个安全漏洞,允许攻击者通过使用外部脚本在 JSON 响应中包含恶意脚本来访问敏感数据。通过在前面添加“while(1);”,Google 会阻止脚本自动运行,因为代码会进入无限循环。

技术细节

执行 JSON 劫持通过利用浏览器允许网站动态改变“Array”和“Function”全局对象方法的行为这一事实。因此,攻击者可以设置对象的特定响应属性并执行任意代码。

替代语法

除了“while(1);”之外,Google 还采用了变体在不同的服务中:

  • Google 文档:“&&&START&&&”
  • Google 通讯录:“while(1); &&&START&&&”

这些变体的作用相同防止 JSON 劫持和促进安全 JSON 解析的目的。

浏览器兼容性

自 2011 年以来,JSON 劫持已通过 ECMAScript 5 的同源策略在所有主要浏览器中得到解决,它限制来自不同来源的脚本访问数据。但是,前置代码提供了额外的保护层,防止旧版浏览器或不合规网站中的潜在漏洞。

以上是为什么 Google 在其 JSON 响应中添加'while(1);”?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板