CheckSign.php 844 B

12345678910111213141516171819202122232425262728293031
  1. <?php
  2. namespace App\Http\Middleware;
  3. use App\Consts\SysConsts;
  4. use Closure;
  5. class CheckSign
  6. {
  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. $sign = $request->post('sign', '');
  17. $timestamp = $request->post('timestamp', 0);
  18. $key = 'a!A&AFRWT65Nb3NlklezUiqHyQAA@Z8M';
  19. $params = $request->except('_url');
  20. myLog('test')->info($params);
  21. myLog('test')->info(_sign($params, $key));
  22. if ($timestamp && time() - $timestamp <= (SysConsts::ONE_HOUR_SECONDS * 10) && $sign == _sign($params, $key)) {
  23. return $next($request);
  24. } else {
  25. return response()->error('QAPP_SIGN_ERROR');
  26. }
  27. }
  28. }