Quelqu'un peut-il aider à obtenir l'adresse IP du client et du serveur à l'aide de Ruby on Rails?
Réponses
Trop de publicités?À partir de votre contrôleur:
request.remote_ip
Si vous utilisez apache en face d'un chien bâtard, puis remote_ip sera de retour l'adresse de la source de la demande, qui dans ce cas sera l'hôte local parce que le serveur web Apache est en faisant la demande, de sorte qu'au lieu de mettre cela dans votre contrôleur:
@remote_ip = request.env["HTTP_X_FORWARDED_FOR"]
Pour obtenir l'adresse IP du serveur voir:
http://stackoverflow.com/questions/42566/getting-the-hostname-or-ip-in-ruby-on-rails
Thanks: karim79 and Titanous
Écrivez le code dans le contrôleur
Pour l'IP client:
request.remote_ip
@remote_ip = request.env["HTTP_X_FORWARDED_FOR"]
Pour l'IP du serveur:
require 'socket'
def local_ip
orig, Socket.do_not_reverse_lookup = Socket.do_not_reverse_lookup, true # turn off reverse DNS resolution temporarily
UDPSocket.open do |s|
s.connect '64.233.187.99', 1
s.addr.last
end
ensure
Socket.do_not_reverse_lookup = orig
end