Muv2.php 1018 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Http\Middleware;
  3. use App\Http\Models\SsNode;
  4. use Closure;
  5. use Redirect;
  6. class Muv2{
  7. /**
  8. * Handle an incoming request.
  9. *
  10. * @param \Illuminate\Http\Request $request
  11. * @param \Closure $next
  12. * @return mixed
  13. */
  14. public function handle($request, Closure $next)
  15. {
  16. //验证muKey
  17. $muKey = $request->header("Token", '');
  18. if ($muKey != $_ENV['MU_KEY']) {
  19. return response()->json([
  20. 'ret' => 0,
  21. 'msg' => 'token or source is invalid'
  22. ],401);
  23. }
  24. //验证ip是否在节点ip列表当中
  25. $ssnode = SsNode::query()->where('ip',$_SERVER["REMOTE_ADDR"])->orWhere('ipv6',$_SERVER["REMOTE_ADDR"])->first();
  26. if($ssnode == null && $_SERVER["REMOTE_ADDR"] != '127.0.0.1'){
  27. return response()->json([
  28. 'ret' => 0,
  29. 'msg' => 'token or source is invalid'
  30. ],401);
  31. }
  32. return $next($request);
  33. }
  34. }