Rails: Obter endereço IP do cliente

172

No Rails, qual é a melhor maneira de obter o endereço IP do cliente se conectando ao servidor?

Aqui estão duas maneiras que eu encontrei:

request.remote_ip
request.env['HTTP_X_REAL_IP']
ma11hew28
fonte

Respostas:

44

request.remote_ipé uma interpretação de todas as informações de endereço IP disponíveis e fará uma estimativa. Se você acessar as variáveis ​​diretamente, assume a responsabilidade de testá-las na ordem de precedência correta. Os proxies introduzem vários cabeçalhos que criam variáveis ​​de ambiente com nomes diferentes.

tadman
fonte
7

Obtenha o IP do cliente usando o comando:

request.remote_ip
puneet18
fonte
2

Eu achei request.env['HTTP_X_FORWARDED_FOR']muito útil também nos casos em que request.remote_ipretorna127.0.0.1

alikk
fonte
0

Para qualquer pessoa interessada e usando trilhos mais recentes e a gema Devise: a opção "rastreável" do Devise inclui uma coluna para current / last_sign_in_ip na tabela de usuários.

NorseGaud
fonte