node一天限制发帖数量

        let createtime = true;
        let filter = {user_id: user_id};

        if (createtime) {
            let d1 = new Date(moment().format('YYYY-MM-DD'));
            let d2 = new Date(moment().add(1, 'days').format('YYYY-MM-DD'));
            filter.createtime = {
                $gte: d1,
                $lt: d2
            }
        }

        const count = await TemplateModel.count(filter);
        console.log(count);

        if(count>=5){
            res.send({
                status: 0,
                type: 'LIMIT_COUNT',
                message: '一天最多发5条信息'
            })
            return
            
        }



代码如上,现在还有人一天发了800多文章,一个userid,代码逻辑是不是有问题

补充:现找下来,有可能是执行了pm2 reload ,没有更新代码。
不过现在服务器还是每天被攻击,被刷页面。
现在nginx 超过访问次数封ip,头部加了一些属性,一天一个用户只能发五篇文章。
除了做动态加速,隐藏ip还有别的方法防御吗

阅读 1.8k
2 个回答

感觉filter时间有问题

我一般是先查数据库当天有几条数据,超过规定的条数就不做插入

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题