Questo non è il mio principale meccanismo anti-CSRF; So che le richieste https non hanno un'intestazione referer; So che gli utenti oi firewall possono rimuoverlo o impostare un valore fisso arbitrario.
Intendo questo meccanismo proprio come un possibile ulteriore livello di sicurezza che impedisce CSRF nel caso in cui il mio meccanismo principale venga bypassato per qualche motivo.
Il mio codice sarà qualcosa del tipo:
if(isset($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST']))
if(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST)!=$_SERVER['HTTP_HOST'])
exit('Anti-CSRF mechanism!');
Penso che questo non abbia problemi di supporto e usabilità. giusto?