Ho bisogno di controllare e registrare il referrer dei visitatori della mia applicazione web. Quanto è affidabile l'utilizzo di HTTP_REFERER
? E ci sono altre alternative?Quanto è affidabile HTTP_REFERER?
risposta
L'utilizzo di HTTP_REFERER
non è affidabile, il suo valore dipende dall'intestazione HTTP Referer
inviata dal browser o dall'applicazione client al server e pertanto non può essere considerata attendibile.
Per quanto riguarda i Referer
intestazione, sezione 15.1.2 of RFC2616 stati:
Pertanto, le applicazioni dovrebbero fornire come molto controllo su tali informazioni possibile per il fornitore di quel informazioni.
e
Si consiglia, anche se non richiediamo, che una comoda interfaccia a ginocchiera essere previsto per l'utente di attivare o disattivare l'invio di Da e informazioni Referer.
Molti strumenti di privacy online manipolano questo valore e molti browser come FireFox hanno consentito per lungo tempo agli utenti di impedire l'invio di questa intestazione. Quindi, in poche parole, non mi fiderei di esso per nessun fine serio. Ad esempio, proteggere i moduli in modo che gli spammer drive-by non possano pubblicare valori, poiché lo Referer
può essere falsificato.
Per approfondimenti vedi:
Using referer field for authentication or authorization (WayBackMachine)
Accetto referer non è affidabile e non è sicuro, ma credetemi che fa il suo lavoro abbastanza bene nel ridurre lo spam. –
L'ultimo collegamento è morto. – danrah
@danrah - risolto. Ma se trovi link non funzionanti, dai un'occhiata e vedi se sono su WayBackMachine (http://archive.org) e poi aggiorna il post con la copia di archivio disponibile più recente della pagina. – Kev