ruby-on-rails - 处理 Rails 中的用户滥用

标签 ruby-on-rails user-controls spam-prevention

我一直在开发一个可能容易受到用户滥用的网络应用程序,尤其是垃圾评论/帐户。我知道就假用户而言,RECAPTCHA 会处理机器人程序,但它不会为那些创建帐户并以某种方式将垃圾评论放在自动驾驶仪上的用户做任何事情(就像我在 Twitter 上无数次看到的那样) .

我想到的解决方案是允许任何用户标记另一个用户,然后在用户索引操作中出现一个标记用户列表( bool 属性),只有管理员才能访问。然后被标记的用户可以成为禁止(另一个 bool 属性)或取消标记的候选者。被禁止的用户仍然可以访问该网站,但权限会大大降低。出于某些原因,我不想完全删除用户。

但是,当我想到这一点时,我意识到通过标记的用户列表来决定哪些用户应该被禁止或取消标记对于管理员来说可能非常耗时。如果不雇人来取消/禁止用户,是否有更自动化和更优雅的方式来解决这个问题?

最佳答案

我会创建一个名为 abuses 的表,其中包含被举报的用户和提交举报的用户。我建议不要使用标记的 bool 字段,而是使用计数器缓存列,例如“abuse_count”。当此列达到预定义的值时,您可以自动“禁止”用户。

关于ruby-on-rails - 处理 Rails 中的用户滥用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1930906/

相关文章:

c# - 如何使用 WPF 用户控件关闭父窗口

google-analytics - 为什么速卖通要为我的网站做广告并引荐?

java - 如何限制每秒的网络请求以避免垃圾邮件和拒绝服务

email - 是否可以保护 JSON-LD 免受电子邮件收集器的攻击?

mysql - 如何在 Rails 上获取过期的事件

ruby-on-rails - 如何更改已使用 Devise 的 token 进行身份验证的用户的 'after sign in path'?

sql - 如何编写带有日期和数组查找的 Ruby where 子句?

ruby-on-rails - 如何在 Mongoid 中构建复杂的作用域

.net - 我可以在控件内托管 Windows 窗体吗

c# - ASP.NET:在窗体 View 中绑定(bind)用户控件的最佳实践