La fiabilité de $_SERVER['REMOTE_ADDR']
Le $_SERVER['REMOTE_ADDR'] est une variable vitale dans le développement Web, fournir l'adresse IP du client initiant une requête HTTP. Cependant, il existe une idée fausse répandue selon laquelle cette valeur peut être facilement usurpée, ce qui suscite des inquiétudes quant à sa fiabilité.
$_SERVER['REMOTE_ADDR'] peut-il être fiable ?
Oui, il est généralement sûr de faire confiance à la valeur $_SERVER['REMOTE_ADDR'] . Il représente l'adresse IP de la connexion TCP du client et ne peut pas être modifié en modifiant les en-têtes HTTP. En effet, l'adresse IP est une propriété de la connexion TCP/IP et n'est pas transmise dans le cadre des en-têtes HTTP.
Pièges potentiels
Cependant, il existe une exception importante à cette règle. Si votre serveur est derrière un proxy inverse, le REMOTE_ADDR représentera l'adresse IP du serveur proxy, pas du client. Dans ce cas, l'adresse IP du client sera incluse dans un en-tête HTTP, généralement X-Forwarded-For.
Par exemple, si votre serveur est derrière un proxy inverse avec l'adresse IP 111.111.111.111, les demandes à votre serveur semblera provenir de cette adresse IP. Pour obtenir l'adresse IP du client dans ce scénario, vous devrez examiner l'en-tête X-Forwarded-For.
Cependant, dans les scénarios les plus courants où vous recevez directement des requêtes HTTP de clients sans proxy inverse, faites confiance $_SERVER['REMOTE_ADDR'] est une approche fiable pour déterminer l'adresse IP du client.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3