【问题标题】:Comment Moderation [closed]评论审核[关闭]
【发布时间】:2014-05-19 20:41:49
【问题描述】:

我正计划为 cmets 创建一个自定义系统。我想知道评论审核。审批cmets,是不是只要在MySQL中创建一个名为“Moderated”的字段那么简​​单?

对于反垃圾邮件有什么好的建议?阿基斯马特?

【问题讨论】:

    标签: sql mysql database-design data-modeling


    【解决方案1】:

    如果您将列设计为具有状态列,因此只显示批准的 cmets,那么您可以使用称为批准日期的 DATETIME 列:

    COMMENTS

    • comment_id,INT,主键
    • comment_detail, VARCHAR
    • approved_date,日期时间,空

    这样,您就知道它被批准以及何时获得批准。但它也依赖于工作人员在事情可见之前对其进行批准。目前尚不清楚您提议的评论系统中是否涉及其他状态 - 如果有,可能需要COMMENT_STATUS_CODE 表。

    【讨论】:

    • 您还需要在 COMMENTS 表中添加一个 comment_status 列,不是吗?
    • @milesmeow:是的,COMMENTS 表中有一个 comment_status_code 列,具有外键关系。我没有走那么远,因为不清楚 OP 想要做什么。
    • 感谢您的帮助,评论状态是什么?还有更多我应该知道的吗?我对这一切都是新手。
    • @Doug:这取决于您围绕 cmets 的业务规则。例如,如果您想“删除” cmets 但仍将它们保留在数据库中,那么您将拥有三个状态代码:待处理、已批准、已删除。可能是您希望在“删除”用户历史记录后保留它们,或者如果您改变主意并希望使评论可见。只是取决于你如何看待你的系统工作。
    • @OMG Ponies:非常感谢你!
    【解决方案2】:

    您可以使用名为 Moderated 的位字段,其中 0 表示未主持,1 表示主持。然后,从您的应用程序中,只需查询 Moderated = 1 的那些 cmets。有多种方法可以对抗垃圾邮件,这也取决于您如何调节 cmets。如果您在每个评论出现在网站上之前手动阅读它们,那么垃圾邮件就不会真正进入网站本身,但它仍然可以进入您的收件箱。您可以使用验证码程序,例如ReCaptcha。这将使使用机器人提交多个 cmet 变得更加棘手。

    【讨论】:

    • 我认为这还不够!当我们查询既没有被拒绝也没有被批准的未审核的 cmets 时如何(显示给要批准 cmets 的主持人)?似乎没有办法在您的解决方案中找到它。所以每次我们进行查询时,版主都会重复看到所有未审核的 cmets(这里不是专家,也许有一种我看不到的方法,只是说,无论如何,谢谢)。
    【解决方案3】:

    这在很大程度上取决于您的网站流量。 是的,如果您的流量现在很低,则“适度”标志就足够了,但稍后您应该期待其他技术(验证码、垃圾邮件数据库等、过滤应用程序)。 您可以手动检查 cmets,这样最好,但以后您无法检查每个 cmets。

    但我对您的网站流量一无所知。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-05
      • 2011-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-25
      相关资源
      最近更新 更多