在我的导航器中检查facebook正在做什么,我看到了这段代码:
for (;;);{"t":"refresh"}
如果你试图评估它,你可以计算出发生了什么(无限循环)。
你知道它是什么吗?
答案 0 :(得分:5)
如果这是在ajax调用的响应中,我是否正确?
这是在动态添加包含用户特定内容的脚本时用于避免XSS的策略之一。
如果它不在这里,[evil]页面可以在常规脚本标记内请求此脚本,并且可以访问由它定义的方法和对象。
使用xhr从Facebook加载此脚本的代码将删除第一部分,然后再评估它以获取其内容。在这种情况下,结果将是{"t":"refresh"}
。
来自其他域的脚本无法执行此操作。