如何防止用户多次喜欢评论,如“facebook或youtube喜欢/不喜欢系统”? [关闭]
Posted
技术标签:
【中文标题】如何防止用户多次喜欢评论,如“facebook或youtube喜欢/不喜欢系统”? [关闭]【英文标题】:How to prevent users like the comment multiple times like "facebook or youtube like/dislike systems"? [closed] 【发布时间】:2018-02-26 00:08:24 【问题描述】:我正在使用 express、react 和 mysql。我想为 cmets 创建喜欢/不喜欢系统。我用谷歌搜索了它,大多数人建议单击后禁用该按钮。但我不想那样。甚至用户也会刷新标签或从另一台设备访问他的个人资料。当他再次看到该评论时,他应该看到他已经喜欢该评论并且他应该无法再次喜欢它。我正在考虑为每个用户将所有喜欢和不喜欢的内容存储在 mysql 数据库中。它是否会减少对数据库的查询次数并影响性能?什么是正确的解决方案?
【问题讨论】:
正确的解决方案确实是写下他们已经“喜欢”的地方。否则你怎么能阻止他们再次喜欢? 【参考方案1】:如果您想显示喜欢/不喜欢帖子(或评论)的用户,您必须为每个喜欢/不喜欢插入一个新行以及 user-id
。关于多点赞问题,您必须检查是否存在与您从 post
请求中获得的 user-id
和 comment-id
s 相同的行,如果是,请忽略请求并告诉用户“不能多次喜欢”之类的内容,否则插入新行。
要考虑的另一件事是,如果用户喜欢评论并立即不喜欢它,您打算怎么做?如果您正在发送实时通知,那么目标将收到错误通知(也就是说,如果您不解决此问题)。那是我没有考虑过的事情,根本没有办法(但我相信有一个技巧)。
【讨论】:
我正在使用 socket.io 进行实时评论。我想我必须通过为他们创建特定的事件来使用它来表示喜欢和不喜欢。在这种情况下,我认为它会更快。对于即时点击,我将在客户端处理,因此用户在喜欢或不喜欢时不会注意到任何内容。 @MukhammadAli 通过“我将在客户端处理”,您是说如果用户在一定秒数后没有不同,您只会向服务器端发送一个赞?以上是关于如何防止用户多次喜欢评论,如“facebook或youtube喜欢/不喜欢系统”? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 mongodb 和 mongoose 从帖子模型中计算整体帖子活动(喜欢、不喜欢、评论)和用户模型中的参考总和