Valuta la tua esperienza

Usare l'intestazione X-Forwarded-For (XFF)

Modificato su: Mon, 15 Apr, 2024

Vai a:

Cos'è l'intestazione X-Forwarded-For?

Quando si usa l'intestazione X-Forwarded-For?

Perché l'IP originale dell'utente non viene trasmesso quando si usa Ezoic?

Esempio di X-Forwarded-For

Come aggiungere l'intestazione X-Forwarded-For (XFF) in .PHP e .NET?

Come aggiungere l'intestazione X-Forwarded-For (XFF) su WordPress?

Dove aggiungere il codice X-Forwarded-For nel file wp-config.php?

Altro?



Cos'è l'intestazione X-Forwarded-For?

L'intestazione X-Forwarded-For (XFF) identifica l'indirizzo IP di origine di un utente nei log di accesso al server, attraverso un proxy HTTP o un bilanciatore di carico.

Quando si usa l'intestazione X-Forwarded-For?


Molte applicazioni web utilizzano l'indirizzo IP di origine dell'utente. Un esempio di quando l'intestazione X-Forwarded-For sarebbe necessaria potrebbe essere se un sito identifica gli utenti in base al loro indirizzo IP quando si accede a un'area riservata. In questo caso, l'IP di origine deve essere passato.


Perché l'IP originale dell'utente non dovrebbe essere passato quando si usa Ezoic?

 

Quando si usa la piattaforma di Ezoic, le richieste dei visitatori del vostro sito web saranno inoltrate attraverso gli Amazon Cloud Servers (AWS) di Ezoic. Pertanto, i vostri log di accesso mostreranno gli indirizzi IP di Ezoic piuttosto che l'indirizzo IP originale dell'utente.


Occasionalmente, la vostra società di hosting interpreta erroneamente le richieste che passano attraverso Ezoic come un attacco bot, perché tutte le richieste provengono da un singolo o pochi IP piuttosto che da un ampio assortimento.


Gli errori che potreste vedere in relazione a questo problema includono errori di origine, errori 520, o il Robot Captcha del vostro host.


Questo problema può essere risolto utilizzando l'intestazione XFF.


Implementando l'intestazione XFF, Ezoic invierà l'indirizzo IP del visitatore web originale al tuo server nell'intestazione X-Forwarded-For.

Esempio di X-Forwarded-For


  • In PHP è disponibile in:$_SERVER['HTTP_X_FORWARDED_FOR']
  • In .NET è disponibile in: HttpContext.Current.Request.Headers["X-Forwarded-For"]


Come aggiungere l'intestazione X-Forwarded-For (XFF) in .PHP e .NET?


  1. Vale la pena creare un back up del tuo sito. Puoi usare strumenti come  PHPmyadmin per farlo.
  2. Poi, devi mettere il codice XFF in un file a cui accedono tutte le tue pagine (per esempio header.php, init.php o config.php)
  3. Nel tuo file header.php, init.php, o config.php, dovresti già vedere$_SERVER['REMOTE_ADDR'] che puoi sostituire con $_SERVER['HTTP_X_FORWARDED_FOR']


Come aggiungere l'intestazione X-Forwarded-For (XFF) su WordPress?


Per i siti Wordpress questo processo è un po' diverso.

Per implementare XFF per i siti WordPress, basta copiare e incollare il codice qui sotto nel vostro file wp-config.php:


// Use X-Forwarded-For HTTP Header to Get Visitor's Real IP Address

if ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {

$http_x_headers = explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] );

$_SERVER['REMOTE_ADDR'] = $http_x_headers[0];

}


Dove aggiungere il codice X-Forwarded-For nel file wp-config.php?


Questo sarà diverso a seconda del tuo tema. Se non sei sicuro, contatta i proprietari del tuo tema.


In alternativa, il plugin Proxy Real IP Wordpress può aggiungere il codice per te:

https://wordpress.org/plugins/proxy-real-ip/

*Si prega di notare che dipende da come il server di origine è configurato se questo plugin sarà efficace. Abbiamo alcuni editori per i quali questo è stato efficace, e alcuni che hanno avuto bisogno di prendere misure alternative per risolvere le richieste bloccate. Puoi leggere di più su questi casi qui.

Altro ?


Sì! Fai sapere al tuo host quando hai implementato un'intestazione X-Forwarded-For. Avranno bisogno di eseguire ulteriori configurazioni per permettere alle richieste di passare come previsto.



Loading ...