TrustProxies.php 1.2 KB

123456789101112131415161718192021222324252627282930
  1. <?php
  2. namespace App\Http\Middleware;
  3. use Illuminate\Http\Middleware\TrustProxies as Middleware;
  4. use Illuminate\Http\Request;
  5. class TrustProxies extends Middleware
  6. {
  7. /**
  8. * The trusted proxies for this application.
  9. *
  10. * @var array<int, string>|string|null
  11. */
  12. protected $proxies = [
  13. '173.245.48.0/20', '103.21.244.0/22', '103.22.200.0/22', '103.31.4.0/22', '141.101.64.0/18', '108.162.192.0/18', '190.93.240.0/20', '188.114.96.0/20', '197.234.240.0/22', '198.41.128.0/17', '162.158.0.0/15', '104.16.0.0/13', '104.24.0.0/14', '172.64.0.0/13', '131.0.72.0/22', '2400:cb00::/32', '2606:4700::/32', '2803:f800::/32', '2405:b500::/32', '2405:8100::/32', '2a06:98c0::/29', '2c0f:f248::/32',
  14. ]; // 以上为 https://www.cloudflare.com/ips-v4 https://www.cloudflare.com/ips-v6 获取的IP 用于在CloudFlare 开启后正确获取用户真实IP
  15. /**
  16. * The headers that should be used to detect proxies.
  17. *
  18. * @var int
  19. */
  20. protected $headers =
  21. Request::HEADER_X_FORWARDED_FOR |
  22. Request::HEADER_X_FORWARDED_HOST |
  23. Request::HEADER_X_FORWARDED_PORT |
  24. Request::HEADER_X_FORWARDED_PROTO |
  25. Request::HEADER_X_FORWARDED_AWS_ELB;
  26. }