这个Facebook代码是什么?

Mar*_*arc 3 javascript

检查我在导航器中正在做什么,我看到这段代码:

for (;;);{"t":"refresh"}
Run Code Online (Sandbox Code Playgroud)

如果你试图评估它,你可以想象会发生什么(无限循环).

你知道这是什么吗?

Sea*_*sey 5

如果这是在ajax调用的响应中,我是否正确?

这是在动态添加包含特定于用户的内容的脚本时用于避免XSS的策略之一.
如果它不在这里,[evil]页面可以在常规脚本标记内请求此脚本,并且可以访问由它定义的方法和对象.

使用xhr从Facebook加载此脚本的代码将在评估它以获取其内容之前删除第一部分.在这种情况下,结果将是{"t":"refresh"}.

来自其他域的脚本无法执行此操作.

  • +1肯定发生了什么.这是阻止跨站点脚本包含的常用方法之一.另一种方法是在内容前添加注释标记. (2认同)