我想检查设备IP地址到我网站(root to=>home#index)
的次数,如果地址不止一次来到我的网站然后执行一段代码(任何东西)。我怎么做到这一点rails?换句话说,我如何访问和设置一个变量来存储用户ip_address登录号码index action
?root页面是home #index。为了澄清更多用户不必是注册用户,我只是想要通过计算机IP地址跟踪。我需要帮助索引动作中注释掉的单词。有设计current_sign_in_ip
,但我不确定这是否意味着解决这个问题的情况,因为我是一个非常新的设计和轨道将军。非常感谢你!
控制器
class HomeController < ApplicationController
def index
#access user ip address
#set a variable to increment number of times the address come to a site
# if no_of_ip_login is_greater_than_1 #In other words if it is a returning user
redirect_to :controller=>"home" ,:action=>"show"
end
end
答案 0 :(得分:4)
您可以使用
ip_addr = request.env['REMOTE_ADDR']
也:
request.remote_ip
只是想提一下,如果你是一个负载均衡器,那么 REMOTE_ADDR可能会返回负载均衡器的IP,而不是实际的客户端。 在这种情况下,您通常可以使用以下内容:
ip_addr = request.env['X_FORWARDED_FOR']
所以我推荐了request.remote_ip。它返回HTTP_CLIENT_IP或 如果存在,则为X_FORWARDED_FOR,否则为REMOTE_IP。