ge-tracker / laravel-vapor-trusted-proxies
构建用于Laravel Vapor的动态可信代理列表
v2.2.0
2024-03-22 14:26 UTC
Requires
- php: ^8.0
- illuminate/http: ^9.0 || ^10.0 || ^11.0
- illuminate/support: ^9.0 || ^10.0 || ^11.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.6
- gtjamesa/php-standards: ^2.0
- orchestra/testbench: ^7.0 || ^8.0 || ^9.0
- phpunit/phpunit: ^9.5 || ^10.0
README
由于在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)。请参阅许可文件以获取更多信息。