byteflick / laravel-strict-domain
Laravel 严格的域名检查包,确保无缝重定向到指定域名,优化 Laravel 应用程序中的安全和用户体验。
Requires
- php: ^8.1
- illuminate/contracts: ^10.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^2.9
- laravel/pint: ^1.14
- nunomaduro/collision: ^7.8
- orchestra/testbench: ^8.22
- phpstan/extension-installer: ^1.3
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-phpunit: ^1.3
This package is not auto-updated.
Last update: 2024-09-16 20:54:48 UTC
README
Laravel 严格的域名检查
Laravel 严格的域名检查是一个轻量级的包,旨在无缝集成到 Laravel 应用程序中,为基于域名的重定向提供简单解决方案。使用此包,您可以将进入您的 Laravel 应用程序的流量重定向到指定的域名,如果请求的域名与配置的域名不匹配。通过实现可定制的中间件,开发者可以轻松地强制执行域名一致性,增强安全性和用户体验。无论管理多个域名还是执行品牌标准,此包都为 Laravel 应用程序中的域名重定向提供了一种灵活且高效的解决方案。
安装
您可以通过 composer 安装此包
composer require byteflick/laravel-strict-domain
您可以使用 (可选) 发布配置文件
php artisan vendor:publish --provider="ByteFlick\LaravelStrictDomain\LaravelStrictDomainServiceProvider"
这是发布配置文件的内容
return [ 'include_sub_domains' => true, 'domain' => env('APP_DOMAIN', 'localhost.com'), ];
用法
步骤 1: 配置环境
您需要将名为 APP_DOMAIN
的环境变量添加到您的 .env
文件中。此变量的值用于验证传入的流量。
APP_DOMAIN=localhost.com
步骤 2: 应用中间件
2.1 重定向外部流量
如果您想将来自其他域名/主机的应用程序流量重定向到您自己的应用程序,则可以使用 RedirectExternalTraffic
中间件。当您想将所有来自 johndoe.com
(引用域名)和其他域名/主机的流量重定向到 janedoe.com
(您指定的域名)时,这非常有用。
仅针对特定路由
您可以将中间件添加到单个路由或通过路由组应用它。
Laravel 11 全局应用
通过以下代码将中间件添加到您的 bootstrap/app.php
中的默认中间件,以重定向所有外部流量到您指定的主机。
->withMiddleware(function (Middleware $middleware) { $middleware->append(\ByteFlick\LaravelStrictDomain\Middlewares\RedirectExternalTraffic::class); })
Laravel 10 全局应用
通过以下代码将中间件添加到您的 App\Http\Kernel.php
中的默认中间件,以重定向所有外部流量到您指定的主机。
protected $middleware = [ \ByteFlick\LaravelStrictDomain\Middlewares\RedirectExternalTraffic::class, ];
2.2 阻止外部流量
如果您想阻止来自其他域名/主机的应用程序流量进入您自己的应用程序,则可以使用 BlockExternalTraffic
中间件。当您想允许来自 janedoe.com
的流量,但阻止 johndoe.com
和其他流量到您的应用程序时,这非常有用。
仅针对特定路由
您可以将中间件添加到单个路由或通过路由组应用它。
Laravel 11 全局应用
通过以下代码将中间件添加到您的 bootstrap/app.php
中的默认中间件,以阻止所有外部流量。
->withMiddleware(function (Middleware $middleware) { $middleware->append(\ByteFlick\LaravelStrictDomain\Middlewares\BlockExternalTraffic::class); })
Laravel 10 全局应用
通过以下代码将中间件添加到您的 App\Http\Kernel.php
中的默认中间件,以阻止所有外部流量。
protected $middleware = [ \ByteFlick\LaravelStrictDomain\Middlewares\BlockExternalTraffic::class, ];
更新日志
请参阅 更新日志 了解最近更改的详细信息。
贡献
请参阅 贡献指南 了解详细信息。
安全漏洞
请参阅 我们的安全策略 了解如何报告安全漏洞。
鸣谢
许可证
MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。