Forbidden.php 780 B

12345678910111213141516171819202122232425262728293031323334353637
  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. * @return mixed
  16. */
  17. public function handle($request, Closure $next)
  18. {
  19. // 拒绝机器人访问
  20. $config = Config::query()->where('name', 'is_forbid_robot')->first();
  21. if ($config && $config->value) {
  22. if (Agent::isRobot()) {
  23. Log::info("识别到机器人访问(" . $request->getClientIp() . ")");
  24. return Response::view('403', [], 403);
  25. }
  26. }
  27. // 拒绝受限IP访问
  28. return $next($request);
  29. }
  30. }