Earlier quoted context omitted.
Firefox already blocks off-domain POST requests, unless the 3rd party domain responds to an OPTIONS preflight request. So, I'm talking only about forms sending and GET is ok sure. Google's logout CSRF works because the logout link is a GET request. So, no, there is no quick fix.
No it does not. --- https://developer.mozilla.org/en/http_access_control#Simple_... A simple cross-site request is one that: - Only uses GET or POST. If POST is used to send data to the server, the Content-Type of the data sent to the server with the HTTP POST request is one of application/x-www-form-urlencoded, multipart/form-data, or text/plain. - Does not set custom headers with the HTTP Request (such as X-Modifie…
Let's say you're logged into Gmail and Gmail had no CSRF protection anywhere.
You're logged in while visiting my site. In my site, I include a little bit of JavaScript to make a POST request to Gmail telling it to forward copies of all your incoming email to my email address.
This will not work even without CSRF protection. It would only work if Google sends back the header Access-Control-Allow-Origin: mysite or Access-Control-Allow-Origin: * as noted in the section you linked to.
Of course, I could also try to trick you into filling out a form whose method actually is pointed at Gmail's and include all the hidden input tags to set you up for forwarding emails to me, but you would know something fishy is going on because it would redirect you to Gmail.