So che è possibile ottenere un HTTP_REFERER vuoto. In quali circostanze succede? Se ne ottengo uno vuoto, significa sempre che l'utente l'ha cambiato? Ottenere uno vuoto equivale a ottenerne uno nullo? e in quali circostanze ottengo anche quello?
So che è possibile ottenere un HTTP_REFERER vuoto. In quali circostanze succede? Se ne ottengo uno vuoto, significa sempre che l'utente l'ha cambiato? Ottenere uno vuoto equivale a ottenerne uno nullo? e in quali circostanze ottengo anche quello?
Risposte:
Sarà / potrebbe essere vuoto quando l'utente finale
HTTP_REFERER - inviato dal browser, indicando l'ultima pagina visualizzata dal browser!
Se ti fidi di [HTTP_REFERER] per qualsiasi motivo importante, non dovresti, poiché può essere simulato facilmente:
Prova questa estensione firefox, sarai in grado di impostare le intestazioni che desideri:
@Master of Celebration:
Firefox:
estensioni: refspoof , refontrol , modifica delle intestazioni , nessun riferimento
Disabilita completamente: l'opzione è disponibile in about: config in "network.http.sendRefererHeader" e si desidera impostare questo su 0 per disabilitare il passaggio dei referer.
Google chrome / Chromium:
estensioni: noref , spoofy , noreferrer esterno
Disabilita completamente: Chnage ~ / .config / google-chrome / Default / Preferences o ~ / .config / chromium / Default / Preferences e imposta questo:
{
...
"enable_referrers": false,
...
}
O semplicemente aggiungi --no-referrers al collegamento o in cli:
google-chrome --no-referrers
Musica lirica:
Disabilita completamente: Impostazioni> Preferenze> Avanzate> Rete e deseleziona "Invia informazioni referrer"
Servizio web di spoofing:
Proxy di filtro autonomo (spoof qualsiasi intestazione):
Spoofing http_referer quando si utilizza wget
'--Referer = url'
Spoofing http_referer quando si usa l'arricciatura
-e, --referer
Spoofing http_referer con telnet
telnet www.yoursite.com 80 (press return)
GET /index.html HTTP/1.0 (press return)
Referer: http://www.hah-hah.com (press return)
(press return again)
Some browsers limit access to not allow HTTP_REFERER to be passed
Potresti per favore dare un esempio a tale browser e / o estensione?
L'elenco di BalusC è solido. Un altro modo in cui questo campo appare spesso vuoto è quando l'utente si trova dietro un server proxy. Questo è simile all'essere dietro un firewall ma è leggermente diverso, quindi ho voluto menzionarlo per completezza.
Sarà inoltre vuoto se si utilizza la nuova bozza standard della Politica referrer per impedire che l'intestazione del referer venga inviata all'origine della richiesta. Esempio:
<meta name="referrer" content="none">
Sebbene Chrome e Firefox abbiano già implementato una versione bozza della Politica sui referrer, dovresti fare attenzione perché ad esempio Chrome si aspetta no-referrer
invece none
(e ho visto anche never
da qualche parte).
Ho trovato l'implementazione del referer del browser davvero incoerente.
Ad esempio, un elemento di ancoraggio con l'attributo "download" funziona come previsto in Safari e invia il referer, ma in Chrome il referer sarà vuoto o "-" nei registri del web server.
<a href="http://foo.com/foo" download="bar">click to download</a>
È rotto in Chrome: nessun referer inviato.