Rails:获取客户端IP地址


172

在Rails中,获取连接到服务器的客户端ip地址的最佳方法是什么?

我找到了两种方法:

request.remote_ip
request.env['HTTP_X_REAL_IP']

Answers:



44

request.remote_ip是对所有可用IP地址信息的解释,这将是最好的猜测。如果直接访问变量,则您有责任按照正确的优先顺序测试它们。代理引入了许多头文件,这些头文件创建具有不同名称的环境变量。


7

使用以下命令获取客户端IP:

request.remote_ip

2

我发现request.env['HTTP_X_FORWARDED_FOR']request.remote_ip退货的情况下也非常有用127.0.0.1


0

对于有兴趣并使用较新的Rails和Devise gem的用户:Devise的“ trackable”选项在users表中包括current / last_sign_in_ip的列。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.