CheckBlackList.php 1010 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Http\Middleware;
  3. use App\DataApiNew\Models\BlackList;
  4. use Closure;
  5. use Illuminate\Http\Request;
  6. class CheckBlackList
  7. {
  8. /**
  9. * Handle an incoming request.
  10. *
  11. * @param \Illuminate\Http\Request $request
  12. * @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
  13. * @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
  14. */
  15. public function handle(Request $request, Closure $next)
  16. {
  17. $user_id = auth()->id() ?? null;
  18. $ip = request()->getClientIp();
  19. if($user_id && BlackList::checkUser($user_id)){
  20. return response()->json([
  21. 'code' => 0,
  22. 'msg' => '账号存在异常'
  23. ], 403);
  24. }
  25. if(BlackList::checkIp($ip)){
  26. return response()->json([
  27. 'code' => 0,
  28. 'msg' => '禁止访问'
  29. ], 403);
  30. }
  31. return $next($request);
  32. }
  33. }