Maison >développement back-end >tutoriel php >Comment obtenir l'adresse IP d'un client dans Laravel 5 ?

Comment obtenir l'adresse IP d'un client dans Laravel 5 ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-20 08:37:02936parcourir

How to Obtain a Client's IP Address in Laravel 5 ?

Obtenir l'adresse IP du client dans Laravel 5

En PHP, obtenir l'adresse IP d'un client est simple en utilisant $_SERVER["REMOTE_ADDR"] . Cependant, dans Laravel, cette technique renvoie l'IP du serveur plutôt que l'IP du visiteur.

Solution :

Pour acquérir avec précision l'adresse IP du client dans Laravel, utilisez :

<code class="php">Request::ip();</code>

Cette fonction s'appuie sur la méthode getClientIps de Symfony, qui détermine l'adresse IP du client en fonction des éléments suivants :

  1. Proxies de confiance :

    • Si l'adresse IP n'est pas un proxy de confiance, l'adresse IP du client est renvoyée.
  2. En-têtes transférés :

    • Si l'en-tête Forwarded est présent et approuvé, le paramètre for est analysé pour l'adresse IP du client.
  3. En-têtes IP du client :

    • Si l'en-tête Client-IP est présent et approuvé, un tableau d'adresses IP est extrait et la première adresse IP valide est renvoyée.

Solution de secours :

Si aucun des en-têtes ci-dessus n'est disponible ou approuvé, l'adresse IP obtenue à partir de $_SERVER["REMOTE_ADDR"] est utilisée.

Exemple :

<code class="php">$clientIp = Request::ip();</code>

Cela fournira l'adresse IP du visiteur, vous permettant d'implémenter des fonctionnalités basées sur IP dans votre application Laravel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn