是否可以记录用户的IP地址?

时间:2014-10-30 22:59:45

标签: javascript ruby-on-rails ruby ruby-on-rails-4 ip

我正在建立一个Rails项目。我想要完成的是阻止一个人在我的网站上投票两次。我真的不想让人们必须注册/登录。我能想到的另一种方法是以某种方式记录用户的IP地址并阻止该地址。我意识到一个人可以拥有一些不同的设备,但它并不重要,我只是不想让一个人投票数百次。这可能与Rails / Javascript一起使用吗?

4 个答案:

答案 0 :(得分:2)

只需在控制器操作中使用request.remote_ip即可。

记住一件事,NAT背后的人拥有相同的IP,但是他们甚至不能相互了解但仍然使用相同的IP地址。考虑添加不仅仅是IP地址的内容,例如系统名称,浏览器名称等。

答案 1 :(得分:1)

是的,确实如此。您可以通过request.remote_ip访问IP地址,并添加支票,只有在尚未投票的情况下才允许投票。

通过JavaScript?否。

答案 2 :(得分:1)

以下是如何在Rails中获取IP地址的方法:

request.remote_ip

在" Rails: Get Client IP address"和remote_ip documentation

如果您想通过JavaScript解决方案来实现这一目标,我建议您查看" How to get client's IP address using javascript only?"。

答案 3 :(得分:0)

您可以通过

访问用户的IP地址
request.remote_ip

您也可以使用cookie来处理更改其IP的用户的案例(不是这么简单,这只是一个例子:

cookies["voted"] = true