Dans Rails, quel est le meilleur moyen d’obtenir l’adresse IP du client se connectant au serveur?
Voici deux manières que j'ai trouvées:
request.remote_ip
request.env['HTTP_X_REAL_IP']
Je voudrais simplement utiliser le request.remote_ip
qui est simple et qui fonctionne. Une raison pour laquelle vous avez besoin d'une autre méthode?
Voir: Obtenir une adresse IP réelle dans l’environnement de développement Rails local Pour certaines autres choses que vous pouvez faire avec les adresses IP du serveur client.
request.remote_ip
est une interprétation de toutes les informations d'adresse IP disponibles et vous permettra de deviner. Si vous accédez directement aux variables, vous êtes responsable de les tester dans le bon ordre de priorité. Les mandataires introduisent un certain nombre d’en-têtes qui créent des variables d’environnement avec des noms différents.
Obtenir l'adresse IP du client en utilisant la commande:
request.remote_ip
Pour ceux qui sont intéressés et qui utilisent un nouveau Rails et le joyau de Devise: l'option "traçable" de Devise inclut une colonne pour current/last_sign_in_ip dans la table users.
J'ai trouvé request.env['HTTP_X_FORWARDED_FOR']
très utile aussi dans les cas où request.remote_ip
renvoie 127.0.0.1