Forbidden.php 803 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. namespace App\Http\Middleware;
  3. use App\Http\Models\Config;
  4. use Response;
  5. use Agent;
  6. use Log;
  7. use Closure;
  8. class Forbidden
  9. {
  10. /**
  11. * Handle an incoming request.
  12. *
  13. * @param \Illuminate\Http\Request $request
  14. * @param \Closure $next
  15. *
  16. * @return mixed
  17. */
  18. public function handle($request, Closure $next)
  19. {
  20. // 拒绝机器人访问
  21. $config = Config::query()->where('name', 'is_forbid_robot')->first();
  22. if ($config && $config->value) {
  23. if (Agent::isRobot()) {
  24. Log::info("识别到机器人访问(" . $request->getClientIp() . ")");
  25. return Response::view('403', [], 403);
  26. }
  27. }
  28. // 拒绝受限IP访问
  29. return $next($request);
  30. }
  31. }