介绍
我正在为大学生设计一个社交网站。为了便于审核,一些学生将被指定为具有更高能力的版主,以删除不适当的帖子和查看标记的内容。
问题
当版主发现不合适的帖子或活动页面时 - 网站应如何在不破坏整个应用程序的情况下继续隐藏或删除它?
背景
当需要删除事件页面但该页面可能链接到数千名用户时,这个问题变得越来越困难。连接的用户应该能够知道活动页面已被删除 - 这样就不会有混淆。
“撤消”删除的能力将是一个巨大的优势。由于学生将成为主持人,我希望超级用户(即网站管理员)能够覆盖主持人的操作。
注意事项
- 后端使用 Innodb 引擎在 MySQL 上运行。
- 数据完整性很重要:
- 想到外键 - 但就目前而言 - 数据库模式不使用它们。
- 已删除的帖子/页面不应出现在一般搜索中。
- “撤消”删除操作的能力是可取的。删除整个活动页面可能会引起群众的愤怒。
当前解决方案
当发现内容违反使用条款时 - 在数据库中添加一个特殊标志(即列status
更改为 1 -> 表示“不适当”)。然后根据此标志隐藏内容。
但是 - 这种策略如何在关系数据库的整个方案中起作用?尤其是在搜索方面?
案例分析
用户可以搜索和查看他们的朋友正在参加的所有活动。
表:用户
user_id
name
表:事件
event_id
event_name
datetime
status (0 -> okay, 1 -> hide)
表:Users_events
user_id
event_id
当前解决方案的问题
网站应该如何过滤掉所有隐藏或标记的内容?是否应该有专门的覆盖指数?
结论
设计一个具有高级审核功能的社交网站。如何标记内容并隐藏潜在有害和滥用的帖子/事件页面,同时在数据库中保持完整的关系?如何优化搜索以仅显示已批准(未标记的内容?