| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- <?php
- namespace App\Middleware;
- use App\Services\Config;
- use Psr\Http\Message\ServerRequestInterface;
- use Psr\Http\Message\ResponseInterface;
- use App\Utils\Helper;
- use App\Models\Node;
- class Mod_Mu
- {
- public function __invoke(ServerRequestInterface $request, ResponseInterface $response, $next)
- {
- $key = Helper::getMuKeyFromReq($request);
- if ($key == null) {
- $res['ret'] = 0;
- $res['data'] = 'key is null';
- $response->getBody()->write(json_encode($res));
- return $response;
- }
- $auth = false;
- $keyset = explode(',', Config::get('muKey'));
- foreach ($keyset as $sinkey) {
- if ($key == $sinkey) {
- $auth = true;
- break;
- }
- }
- if ($auth == false) {
- $res['ret'] = 0;
- $res['data'] = 'token or source is invalid';
- $response->getBody()->write(json_encode($res));
- return $response;
- }
- $node = Node::where('node_ip', 'LIKE', $_SERVER['REMOTE_ADDR'] . '%')->first();
- if ($node == null && $_SERVER['REMOTE_ADDR'] != '127.0.0.1') {
- $res['ret'] = 0;
- $res['data'] = 'token or source is invalid, Your ip address is ' . $_SERVER['REMOTE_ADDR'];
- $response->getBody()->write(json_encode($res));
- return $response;
- }
- $response = $next($request, $response);
- return $response;
- }
- }
|