systemConfig(); // 封禁24小时访问异常的订阅链接 if ($config['is_subscribe_ban']) { $subscribeList = UserSubscribe::query()->where('status', 1)->get(); if (!$subscribeList->isEmpty()) { foreach ($subscribeList as $subscribe) { // 24小时内的请求次数 $request_times = UserSubscribeLog::query()->where('sid', $subscribe->id)->where('request_time', '>=', date("Y-m-d H:i:s", strtotime("-24 hours")))->distinct('request_ip')->count('request_ip'); if ($request_times >= $config['subscribe_ban_times']) { UserSubscribe::query()->where('id', $subscribe->id)->update(['status' => 0, 'ban_time' => time(), 'ban_desc' => '存在异常,自动封禁']); } } } } Log::info('定时任务:' . $this->description); } // 系统配置 private function systemConfig() { $config = Config::query()->get(); $data = []; foreach ($config as $vo) { $data[$vo->name] = $vo->value; } return $data; } }