Muv2.php 1.0 KB

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