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']

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.


7

Obtenha o IP do cliente usando o comando:

request.remote_ip

2

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


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.