Normalmente metodi sicuri non devono essere protetti contro CSRF perché non apportano modifiche al applicazione, e anche se restituiscono informazioni sensibili questo sarà protetto dalla Stessa politica di origine nel browser.
Se il tuo sito è implementato secondo gli standard, le tue richieste GET dovrebbero essere sicure e quindi non necessitano di protezione.
Tuttavia, esiste un caso specifico in cui è possibile eseguire un attacco "Cross-Site DoS" * . Supponiamo che la tua pagina di report impieghi 10 secondi, con il 100% di utilizzo della CPU sul server di database e l'80% di utilizzo della CPU sul tuo server web.
Gli utenti del tuo sito web sanno di non andare mai a https://yoursite.example.org/Analysis/GetReport durante l'orario di ufficio perché uccide il server e dà ad altri usi un'esperienza utente negativa.
Tuttavia, Chuck vuole bussare alla tua yoursite.example.org sito web offline perché non gli piacciono te o la tua azienda.
Nel forum occupato che pubblica spesso, http://forum.walkertexasranger.example.com , imposta la sua firma su quanto segue:
<img src="https://yoursite.example.org/Analysis/GetReport"width=0height=0/>
Inoltre,sacheidipendentidellatuaaziendafrequentanoilforum,spessoanchequandosonoregistratiinyoursite.example.org.
OgnivoltacheunodeipostdiChuckvienelettodaidipendenti,icookiediautenticazionevengonoinviatiahttps://yoursite.example.org/Analysis/GetReport,quindiiltuositoelaboralarichiestaegenerailreporteiltuosistemavaofflineperchélaCPUvienemangiatadaquesterichiestecostanti.
Quindi,ancheselarichiestaèunarichiestaGETenonapportamodifichepermanentialsistema(ovvero"sicure"), è infatti che abbatte il sistema ogni volta che viene eseguito. Pertanto, sarebbe meglio proteggerlo con un metodo di prevenzione CSRF.
* XSDoS, o Diniego tra siti se Servizio, è una frase coniata da me, quindi non usare Google su Google.