我一直在开发一个易受用户滥用的网络应用,特别是垃圾评论/帐户.我知道,就假冒用户而言,RECAPTCHA会照顾机器人,但对于那些创建帐户并以某种方式将他们的垃圾评论放在自动驾驶仪上的用户来说,它不会做任何事情(就像我在Twitter上看过无数次) .
我想到的解决方案是让任何用户标记另一个用户,然后让一个标记用户列表(布尔属性)出现在只能由管理员访问的用户索引操作上.然后,已标记的用户可以成为禁止(另一个布尔属性)或解除标记的候选者.被禁止的用户仍然可以访问该网站,但权限将大大降低.出于某些原因,我不想完全删除用户.
然而,当我想到这一点时,我意识到通过标记用户列表来决定哪些应该被禁止或未标记可能对管理员来说可能非常耗时.如果没有聘请某人来解决/禁止用户,是否有更自动化和优雅的方式来解决这个问题?
我将创建一个名为abuses的表,其中包含报告的用户和提交报告的用户.我建议使用一个计数器缓存列,例如"abuse_count",而不是标记的布尔字段.当此列达到预定义值时,您可以自动"禁止"用户.