可能重复:
Why have “while(1);” in XmlHttpRequest response?
What does while(1) in Gmail do
我最近偶然发现了使用while (1==1) {}
预先填充AJAX返回数据的做法,以便为CSRF攻击提供更高的安全性,但我没有看到该代码如何有用。有人可以解释一下吗?
答案 0 :(得分:5)
尝试执行CSRF攻击的远程站点需要使用JSONP调用加载数据。 (在页面中注入脚本块) 如果您尝试进行JSONP调用并将脚本注入到您的网页中,则javascript vm会超时无法加载数据(因为while循环)。所以攻击者无法看到数据。
这可确保只有匹配相同原始策略的客户端(通过正常的ajax调用加载数据)才能使用该数据,从而防止任何攻击者从远程站点访问数据。