如何添加"喜欢"没有登录我的博客文章的功能

时间:2014-07-31 14:36:52

标签: ruby-on-rails ruby session

假设我有一个博客和一些在Rails中发布的帖子。 有没有在我的博客文章中添加“赞”功能,以便用户可以在不登录的情况下喜欢我的帖子? (没有登录用户!)

如果是,那么如何防止单个用户多次喜欢帖子?

我已经教过如何使用会话来识别过去的用户,但他们删除了什么会话?

2 个答案:

答案 0 :(得分:4)

这是一个复杂的问题。正如您所说,您可以将此信息存储在会话中(因此在cookie中),但这还不够。简单清理cookie可以再次投票。所以,我的想法是存储我们可以获得的信息:

  • IP地址
  • 的User-Agent
  • X-Forwarded-For(有关代理的信息)

并且http标头中存在其他所有内容,例如:

  • Via(有关代理人的信息)
  • 接受语言
  • 接收字符集
  • 连接

然后将已经投票的信息存储在Cookie 本地浏览器存储数据库中。

如果没有cookie和本地浏览器存储的人想投票,请尝试搜索IP和User-Agent。如果找到它,则表示此会话存在疑问。但是你永远不会百分百肯定,相同的用户代理可能来自同一个IP地址(如果是NAT)。所以我建议不要放弃这样的投票,只是将其标记为 suspicious ,以备将来使用。

答案 1 :(得分:0)

为什么不使用IP地址。每个人都应该有一个IP地址列。然后,您需要验证每个帖子的IP唯一性。