Rate Your Experience

Utilisation de l'en-tête X-Forwarded-For (XFF)

Modified on: Tue, 23 Apr, 2024

Sauter à :

Qu'est-ce que l'en-tête X-Forwarded-For ? 

Quand l'en-tête X-Forwarded-For est-il utilisé ? 

Pourquoi l'adresse IP d'origine de l'utilisateur n'est-elle pas transmise lorsque l'on utilise Ezoic ? 

Exemple de X-Forwarded-For 

Comment ajouter l'en-tête X-Forwarded-For (XFF) en .PHP et .NET ? 

Comment ajouter l'en-tête X-Forwarded-For (XFF) sur WordPress ?

Où ajouter le code X-Forwarded-For dans le fichier wp-config.php ? 

Autre chose ? 



Qu'est-ce que l'en-tête X-Forwarded-For ? 


L'en-tête X-Forwarded-For (XFF) identifie l'adresse IP d'origine d'un utilisateur dans les journaux d'accès au serveur, par le biais d'un proxy HTTP ou d'un équilibreur de charge.

Quand l'en-tête X-Forwarded-For est-il utilisé ? 


De nombreuses applications Web utilisent l'adresse IP d'origine de l'utilisateur. Un exemple de cas où l'en-tête X-Forwarded-For est nécessaire est celui d'un site qui identifie les utilisateurs par leur adresse IP lorsqu'ils se connectent à une zone réservée aux membres. Dans ce cas, l'adresse IP d'origine doit être transmise.

Pourquoi l'IP d'origine de l'utilisateur ne serait-elle pas transmise lors de l'utilisation d'Ezoic ? 


Lorsque vous utilisez la plateforme d'Ezoic, les requêtes des visiteurs de votre site web sont acheminées par les serveurs Amazon Cloud (AWS) d'Ezoic. Par conséquent, vos journaux d'accès afficheront les adresses IP d'Ezoic plutôt que l'adresse IP originale de l'utilisateur.

Parfois, votre société d'hébergement interprète à tort les demandes passant par Ezoic comme une attaque de bot, parce que toutes les demandes proviennent d'une seule ou de quelques IP plutôt que d'un large assortiment.

Les erreurs que vous pouvez voir en rapport avec ce problème sont des erreurs d'origine, des erreurs 520 ou le robot Captcha de votre hébergeur.

Ce problème peut être résolu en utilisant l'en-tête XFF.

En mettant en œuvre l'en-tête XFF, Ezoic enverra l'adresse IP du visiteur Web d'origine à votre serveur dans l'en-tête X-Forwarded-For.


Exemple de X-Forwarded-For 


  • En PHP, il est disponible dans : $_SERVER['HTTP_X_FORWARDED_FOR'] $_SERVER['HTTP_X_FORWARDED_FOR'].
    En .NET, il est disponible dans : 
    HttpContext.Current.Request.Headers["X-Forwarded-For"]


Comment ajouter l'en-tête X-Forwarded-For (XFF) en .PHP et .NET ? 


  1. Il est utile de créer une sauvegarde de votre site. Vous pouvez utiliser des outils comme PHPmyadmin pour le faire.
  2. Ensuite, vous devez placer le code XFF dans un fichier auquel toutes vos pages ont accès (par exemple, header.php, init.php ou config.php).
  3. Dans votre fichier header.php, init.php ou config.php, vous devriez déjà voir $_SERVER['REMOTE_ADDR'] que vous pouvez remplacer avec  $_SERVER['HTTP_X_FORWARDED_FOR']


Comment ajouter l'en-tête X-Forwarded-For (XFF) sur WordPress ? 


Pour les sites Wordpress, ce processus est un peu différent.

Pour implémenter XFF pour les sites WordPress, il suffit de copier et coller le code ci-dessous dans votre fichier 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];

}


Où ajouter le code X-Forwarded-For dans le fichier wp-config.php ? 


Cela varie en fonction de votre thème. Si vous n'êtes pas sûr, veuillez contacter les propriétaires de votre thème. 

Sinon, le plugin Wordpress Proxy Real IP peut ajouter le code pour vous : 

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

*Veuillez noter que l'efficacité de ce plugin dépend de la manière dont le serveur d'origine est configuré. Nous avons des éditeurs pour lesquels il a été efficace, et d'autres qui ont dû prendre des mesures alternatives pour résoudre les demandes bloquées. Vous pouvez en savoir plus à ce sujet ici.


Autre chose ? 

Oui ! Veuillez informer votre hôte de la mise en place d'un en-tête X-Forwarded-For. Il devra effectuer une configuration supplémentaire de son côté pour permettre aux demandes de passer comme prévu. 



Loading ...