ge-tracker/laravel-vapor-trusted-proxies

构建用于Laravel Vapor的动态可信代理列表

v2.2.0 2024-03-22 14:26 UTC

This package is auto-updated.

Last update: 2024-09-22 16:25:45 UTC


README

Latest Version on Packagist Total Downloads

由于在Laravel Vapor上使用request()->ip()总是返回127.0.0.1,因此创建了此包。网上有几种解决方案,可以信任所有代理服务器。这些解决方案可能适用于基本应用程序,但这些更改将允许任何用户发送X-FORWARDED-FOR标头以伪造其原始IP地址。

由于Laravel Vapor的动态特性,为您的Laravel应用程序设置可信代理成为一项挑战。如果您依赖用户IP地址的有效性,则此包适用于您!

版本兼容性

Laravel 9.0引入了对默认TrustedProxies中间件的更改,并且不再需要fideloper/proxy包,因为该功能已包含在Laravel中。我并没有积极使用Vapor,不确定是否还需要此包,但我已经更新了要求并推送了v2.0版本,该版本取消了早期Laravel版本的兼容性。

安装

您可以通过composer安装此包

composer require ge-tracker/laravel-vapor-trusted-proxies

接下来,您必须编辑您的app\Http\Middleware\TrustProxies.php中间件,并修改一个导入以使用此包提供的中间件

<?php

namespace App\Http\Middleware;

use GeTracker\LaravelVaporTrustedProxies\Http\LaravelVaporTrustedProxies as Middleware;
use Illuminate\Http\Request;

class TrustProxies extends Middleware
{
    ...

然后此包将默认动态获取您当前Vapor部署使用的代理服务器。

测试

composer test

变更日志

请参阅CHANGELOG以获取有关最近更改的更多信息。

贡献

请参阅CONTRIBUTING以获取详细信息。

安全

如果您发现任何安全相关的问题,请通过电子邮件james@ge-tracker.com联系,而不是使用问题跟踪器。

鸣谢

许可

MIT许可(MIT)。请参阅许可文件以获取更多信息。