Maison > Article > développement back-end > Comment $_SERVER['REMOTE_ADDR'] peut-il être usurpé ?
La variable $_SERVER['REMOTE_ADDR'] stocke l'adresse IP du client qui a fait la demande actuelle. Le détournement ou la falsification de cette variable peut être crucial dans certains scénarios, tels que les tests et le développement.
1. Usurpation au niveau du socket :
En supposant que vous souhaitiez usurper l'adresse à distance, vous pouvez falsifier l'adresse IP source à l'aide de sockets bruts. Cependant, cela n'est pas pratique en PHP en raison de ses implémentations de sockets de haut niveau.
2. Compromission de la passerelle :
En compromettant la passerelle (par exemple, un routeur), vous pouvez usurper l'identité du client et contrôler l'adresse IP vue par le serveur. Cela nécessite une violation complète de la sécurité de la passerelle.
3. Usurpation de bouclage :
Forger l'adresse de bouclage (127.0.0.1) via TCP nécessite une compromission de la machine locale ou du serveur. Dans ce cas, falsifier l'adresse IP devient moins significative.
En-tête X-HTTP-FORWARDED-FOR :
Certains frameworks peuvent vérifiez l'en-tête X-HTTP-FORWARDED-FOR pour la récupération de l'adresse IP. Cet en-tête peut facilement être manipulé pour simuler l'adresse IP distante. Pour atténuer cela, assurez-vous de désactiver son utilisation dans les frameworks.
Faux $_SERVER[' REMOTE_ADDR'] à distance peut être difficile et peu pratique dans la plupart des cas. Une compromission de la passerelle ou une exploitation de la machine locale est généralement requise. De plus, soyez prudent lorsque vous utilisez des frameworks qui vérifient potentiellement l'en-tête X-HTTP-FORWARDED-FOR car cela peut compromettre la vérification de l'adresse IP.
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!