Quelles sont les valeurs de retour possibles pour $ _SERVER [ « REMOTE_ADDR »] ;?

StackOverflow https://stackoverflow.com/questions/1527098

  •  20-09-2019
  •  | 
  •  

Question

En écrivant un module de connexion, je veux connecter des adresses IP comme une mesure supplémentaire pour vérifier qui est de l'autre côté est toujours la même personne de l'autre côté.

J'utilise $_SERVER['REMOTE_ADDR'] comme l'un (de plusieurs) façons d'obtenir l'adresse IP de la machine distante. En plus d'une adresse IPv4 ou IPv6, sont-il d'autres valeurs que je devrais attendre à ce que le retour?

Était-ce utile?

La solution

Il n'y a vraiment pas de sécurité supplémentaire pour vérifier les adresses IP que celles-ci peuvent être facilement falsifiée et tous ceux qui est assez avertis pour être interceptant les transactions POST est en train de faire probablement ce de toute façon.

En outre, vous pouvez être potentiellement ennuyeux utilisateurs légitimes. Pensez à l'instance où une personne peut être dans un endroit où il y a plusieurs points d'accès wifi gratuit ouvert. Quand ils arrivent à votre page de connexion, ils peuvent être connectés à un point d'accès, mais au moment où ils signent dans, leur machine peuvent avoir décidé d'un autre routeur est une meilleure option et donc leur IP changera. Croyez-le ou non, cela peut dissuader certains (mais, très ) quelques utilisateurs facilement frustrés.

Honnêtement, je ne voudrais pas déranger. En utilisant SSL, si vous le pouvez, est généralement la meilleure façon d'aller pour éviter les problèmes de sécurité comme celui que vous décrivez. Bonne chance avec votre projet.

Autres conseils

Selon la documentation PHP en ligne seulement une adresse IP doit être retourné.

http://us.php.net/manual/en /reserved.variables.server.php

« 'REMOTE_ADDR':

L'adresse IP à partir de laquelle l'utilisateur consulte la page en cours. »

La valeur peut être une adresse IPv4 ou IPv6. Bien que vous aurez probablement obtenir des valeurs canoniques soient conscients que les adresses IP peuvent être écrites de plusieurs façons. 192.0.2.1 est le même que 192.000.002.001, 2001:db8::1 est le même que 2001:0db0:0000:0000:0000:0000:0000:0001, etc. Les adresses IPv4 peuvent même être écrites en notation IPv6 comme ::ffff:192.0.2.1 ou ::ffff:c000:0201 si le serveur Web accepte les connexions IPv4 sur IPv6 prises. Je vois que sur les systèmes Linux beaucoup.

adresses IP d'enregistrement ne doit pas être un problème aussi longtemps que vous réservez suffisamment d'espace. En fait, en utilisant les adresses IP pour le contrôle d'accès devient de nos jours de plus en plus délicate. Parce que les grandes régions du monde sont à court de nouvelles IPv4 vous adresse verrez que les FAI doivent utiliser NAT à grande échelle pour maintenir la connexion de nouveaux clients à l'Internet IPv4. Ces grands NATs échelle utiliseront un pool d'adresses IPv4 publiques pour peut-être des milliers de clients. Une adresse IP peut être utilisé par de nombreux clients, et un client peut finir par utiliser des adresses différentes de la piscine.

Dans IPv6 suivi de l'adresse IP a d'autres choses à prendre en compte. Le mécanisme d'auto-configuration IPv6 d'origine est basée sur l'utilisation de l'adresse MAC dans le cadre de l'adresse IPv6. En raison de la vie privée concerne la plupart des systèmes d'exploitation utilisent maintenant un (type de) identifiant d'interface généré de façon aléatoire (généralement les 64 derniers bits de l'adresse) pour les connexions sortantes et les bits peuvent / vont peut changer au fil du temps. Certains systèmes d'exploitation (Mac OS X), même tenir des statistiques sur si IPv4 ou IPv6 est plus rapide et moi avons vu des clients Alternez entre IPv4 et IPv6 à l'occasion.

Et alors vous pouvez avoir des utilisateurs qui passent d'un point d'accès sans fil ou d'un réseau local à un autre, ce qui fait basculer les adresses IP.

Je pense que la connexion des adresses IP peut être une solution basée sur ce que vous voulez faire avec les données, mais en les utilisant comme (partie) une forme de contrôle d'accès pourrait causer plus d'ennuis que cela vaut la peine.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top