Domanda
Qual è il modo più affidabile e sicuro per determinare quale pagina ha inviato o chiamato (tramite AJAX), la pagina corrente. Non voglio usare $ _SERVER ['HTTP_REFERER']
, a causa della (mancanza di) affidabilità, e ho bisogno che la pagina venga chiamata per provenire solo da richieste originate sul mio sito. < br>
Modifica: sto cercando di verificare che uno script che preforma una serie di azioni venga richiamato da una pagina del mio sito Web.
Soluzione
Il RIFERIMENTO viene inviato dal browser del client come parte del protocollo HTTP ed è pertanto inaffidabile. Potrebbe non essere lì, potrebbe essere falsificato, non puoi fidarti se è per motivi di sicurezza.
Se vuoi verificare se una richiesta proviene dal tuo sito, non puoi, ma puoi verificare che l'utente sia stato sul tuo sito e / o sia autenticato. I cookie vengono inviati nelle richieste AJAX in modo che tu possa fare affidamento su questo.
Altri suggerimenti
Quello che ho trovato meglio è un token CSRF e salvarlo nella sessione per i collegamenti in cui è necessario verificare il referrer.
Quindi, se stai generando un callback FB, sarebbe simile a questo:
$token = uniqid(mt_rand(), TRUE);
Quello che ho trovato meglio è un token CSRF e salvarlo nella sessione per i collegamenti in cui è necessario verificare il referrer.
Quindi, se stai generando un callback FB, sarebbe simile a questo:
if(empty( Quello che ho trovato meglio è un token CSRF e salvarlo nella sessione per i collegamenti in cui è necessario verificare il referrer.
Quindi, se stai generando un callback FB, sarebbe simile a questo:
$token = uniqid(mt_rand(), TRUE);
Quello che ho trovato meglio è un token CSRF e salvarlo nella sessione per i collegamenti in cui è necessario verificare il referrer.
Quindi, se stai generando un callback FB, sarebbe simile a questo:
<*>
Quindi index.php apparirà così:
<*>
Conosco siti sicuri che fanno l'equivalente di questo per tutte le loro pagine sicure.
SESSION['token'] = $token;
$url = "http://example.com/index.php?token={$token}";
Quindi index.php apparirà così:
<*>
Conosco siti sicuri che fanno l'equivalente di questo per tutte le loro pagine sicure.
GET['token']) || Quello che ho trovato meglio è un token CSRF e salvarlo nella sessione per i collegamenti in cui è necessario verificare il referrer.
Quindi, se stai generando un callback FB, sarebbe simile a questo:
$token = uniqid(mt_rand(), TRUE);
Quello che ho trovato meglio è un token CSRF e salvarlo nella sessione per i collegamenti in cui è necessario verificare il referrer.
Quindi, se stai generando un callback FB, sarebbe simile a questo:
<*>
Quindi index.php apparirà così:
<*>
Conosco siti sicuri che fanno l'equivalente di questo per tutte le loro pagine sicure.
SESSION['token'] = $token;
$url = "http://example.com/index.php?token={$token}";
Quindi index.php apparirà così:
<*>
Conosco siti sicuri che fanno l'equivalente di questo per tutte le loro pagine sicure.
GET['token'] !== Quello che ho trovato meglio è un token CSRF e salvarlo nella sessione per i collegamenti in cui è necessario verificare il referrer.
Quindi, se stai generando un callback FB, sarebbe simile a questo:
$token = uniqid(mt_rand(), TRUE);
Quello che ho trovato meglio è un token CSRF e salvarlo nella sessione per i collegamenti in cui è necessario verificare il referrer.
Quindi, se stai generando un callback FB, sarebbe simile a questo:
<*>
Quindi index.php apparirà così:
<*>
Conosco siti sicuri che fanno l'equivalente di questo per tutte le loro pagine sicure.
SESSION['token'] = $token;
$url = "http://example.com/index.php?token={$token}";
Quindi index.php apparirà così:
<*>
Conosco siti sicuri che fanno l'equivalente di questo per tutte le loro pagine sicure.
SESSION['token'])
{
show_404();
}
//Continue with the rest of code
Quindi index.php apparirà così:
<*>
Conosco siti sicuri che fanno l'equivalente di questo per tutte le loro pagine sicure.
SESSION['token'] = $token;
$url = "http://example.com/index.php?token={$token}";
Quindi index.php apparirà così:
<*>Conosco siti sicuri che fanno l'equivalente di questo per tutte le loro pagine sicure.
Utilizzo di $ _SERVER ['HTTP_REFERER']
L'indirizzo della pagina (se presente) che ha indirizzato l'agente utente a pagina corrente. Questo è impostato dal programma utente. Non tutti gli user agent lo faranno impostare questo e alcuni forniscono la possibilità di modificare HTTP_REFERER come a caratteristica. In breve, non ci si può davvero fidare.
if (!empty( Utilizzo di $ _SERVER ['HTTP_REFERER']
L'indirizzo della pagina (se presente) che ha indirizzato l'agente utente a
pagina corrente. Questo è impostato dal programma utente. Non tutti gli user agent lo faranno
impostare questo e alcuni forniscono la possibilità di modificare HTTP_REFERER come a
caratteristica. In breve, non ci si può davvero fidare.
<*>SERVER['HTTP_REFERER'])) {
header("Location: " . Utilizzo di $ _SERVER ['HTTP_REFERER']
L'indirizzo della pagina (se presente) che ha indirizzato l'agente utente a
pagina corrente. Questo è impostato dal programma utente. Non tutti gli user agent lo faranno
impostare questo e alcuni forniscono la possibilità di modificare HTTP_REFERER come a
caratteristica. In breve, non ci si può davvero fidare.
<*>SERVER['HTTP_REFERER']);
} else {
header("Location: index.php");
}
exit;
Non esiste un modo affidabile per verificarlo. È davvero sotto la mano del cliente per dirti da dove proviene. Potresti immaginare di utilizzare le informazioni sui cookie o sulle sessioni inserite solo in alcune pagine del tuo sito Web, ma così facendo, l'esperienza dell'utente con i segnalibri potrebbe essere interrotta.
Abbiamo solo una sola opzione dopo aver letto tutti i problemi di falsi referrer: cioè La pagina che desideriamo monitorare come referrer dovrebbe essere mantenuta in sessione, e come ha chiamato ajax, quindi controllando nella sessione se ha un valore di pagina referrer e facendo un'azione altrimenti saggiamente nessuna azione.
Mentre invece richiede una pagina diversa, imposta il valore della sessione del referrer su null.
Ricorda che la variabile di sessione è impostata solo sulla richiesta della pagina desiderata.