Re:Why does Google prepend while(1); to their JSON responses?
by tzury on Sunday December 29, 2013 @11:25PM
(#6983036)
Does your solution assumes referrer will not be manipulated on the client side?
[ Parent
| on HN ]
Re:Why does Google prepend while(1); to their JSON responses?
by Stealth- on Sunday December 29, 2013 @11:34PM
(#6983053)
I imagine it assumes a header like X-Requested-By has not been manipulated. You can safely assume that the referrer, or other headers, have not been manipulated. There is no way for malicious Javascript running in the users browser to edit headers.
Of course, anyone can code their own browser to lie about headers. It doesn't make much sense to specifically open yourself to vulnerabilities though.
Re:Why does Google prepend while(1); to their JSON responses?
by homakov on Sunday December 29, 2013 @11:39PM
(#6983065)
exactly. since normal script-tag cannot drop new X-Requested-With header, there's no need to add some "while(1)" things which look ugly.
There's downside, though - you can't inspect JSONs by simply opening them in a new tab.
Re:Why does Google prepend while(1); to their JSON responses?
by homakov on Sunday December 29, 2013 @11:32PM
(#6983051)
my solution is request.xhr? check. the link above is only to explain what rails-bug was. I don't think checking referrer is a good idea there.
Re:Why does Google prepend while(1); to their JSON responses?
by joev_ on Monday December 30, 2013 @12:09AM
(#6983132)
Hey Egor, article author here. How come you are not such a fan of checking referer? It cannot be a global fix (some sites depend on serving xdomain scripts, have lots of users with proxies that alter headers etc), but it should work well for many cases no?
Re:Why does Google prepend while(1); to their JSON responses?
by homakov on Monday December 30, 2013 @12:57AM
(#6983265)
it works of course, but to be compatible with many environments we need something more reliable than Referrer.