alasdairkeyes / redirecttoken-laravel
redirecttoken包的Laravel集成
Requires
- alasdairkeyes/redirecttoken: ^1.0
- guzzlehttp/psr7: >=2
Requires (Dev)
- laravel/laravel: ^5.5
- orchestra/testbench: ^3.5
- phpmd/phpmd: ^2.6
- phpunit/phpunit: ^6.5
- squizlabs/php_codesniffer: ^3.4
This package is not auto-updated.
Last update: 2024-09-28 00:37:23 UTC
README
redirecttoken-laravel
redirecttoken PHP 包的 Laravel 集成
描述
此包实现了 Laravel 框架下的 redirecttoken (https://gitlab.com/alasdairkeyes/redirecttoken)。
该功能将网站访客重定向到 URI,使用 302 重定向。如果收到无效请求,则返回 400 响应。
安装
- 使用以下命令将包添加到 composer
composer require alasdairkeyes/redirecttoken-laravel
配置
- 发布配置
php artisan vendor:publish --provider="RedirectToken\Laravel\Providers\RedirectTokenServiceProvider" --tag=config
- 使用至少 10 个字符的密钥更新您的环境。这是一个最小长度,字符串越长越好。
REDIRECT_TOKEN_SECRET=MyIncrediblySecureSecret
- 如果您使用配置缓存,请刷新缓存
php artisan config:cache
如果您使用 Laravel >=5.5,则可以停止此处。其余的设置将自动加载。
对于 Lumen 和 Laravel <5.5,请执行以下操作...
- 添加服务提供者
将类添加到您的 app/config.php
配置文件中
'providers' => [
// Other providers above...
RedirectToken\Laravel\Providers\RedirectTokenServiceProvider::class,
// Other providers below...
],
- 添加别名
将别名添加到您的 app/config.php
配置文件中
'aliases' => [
// Other aliases above...
'RedirectTokenHelper' => RedirectToken\Laravel\Support\RedirectTokenHelper::class,
// Other aliases below...
],
示例
在模板中
在您的模板中,只需将以下指令添加到您的 href
值中
<a href="@redirectUrl('https://www.somewebsite.com')">重定向到某个网站</a>
或者您也可以使用一个变量
<a href="@redirectUrl($websiteToRedirectTo)">重定向到某个网站</a>
在命令行中
您还可以使用 artisan 从命令行生成令牌和重定向 URL
$ ./artisan redirecttoken:generate "https://gitlab.com/alasdairkeyes/redirecttoken-laravel"
URL: https://gitlab.com/alasdairkeyes/redirecttoken-laravel
Hash: 6898e1280454fc921f3af130e34e02cf39c5731fc52782a207811c9b5d9f5804
Redirect URL: /fwd?uri=https%3A%2F%2Fgitlab.com%2Falasdairkeyes%2Fredirecttoken-laravel&token=6898e1280454fc921f3af130e34e02cf39c5731fc52782a207811c9b5d9f5804
扩展功能
以下设置可以通过更新您的 .env
文件来更新
转发路径
默认情况下,您的应用程序中的转发路径是 /fwd
。这可以通过以下方式更改
REDIRECT_TOKEN_PATH=/forwarder
哈希算法
此功能使用 sha256
哈希算法生成令牌。这可以通过以下方式更改
REDIRECT_TOKEN_HASH_ALGO=sha512
查询键
默认生成的查询字符串使用查询参数 uri
和 token
这可以通过以下方式更改
REDIRECT_TOKEN_URI_QUERY_KEY=redirectto
REDIRECT_TOKEN_TOKEN_QUERY_KEY=checksum
自定义错误页面
您可以通过创建 resources/views/errors/400.blade.php
来自定义接收到无效重定向请求时返回的页面
事件
以下事件被使用
- 当接收到有效的重定向时 -
RedirectToken\Laravel\Event\ValidRedirectRequest
- 当接收到无效的重定向时
RedirectToken\Laravel\Event\InvalidRedirectRequest
您可以通过将以下内容添加到 app/Providers/EventServiceProvider.php
中的 $listen
变量来监听和处理这些事件
protected $listen = [
'RedirectToken\Laravel\Event\ValidRedirectRequest' => [
'App\Listeners\ValidRedirect',
]
];
包含了一些示例监听器,可以使用以下命令添加到您的应用程序中
php artisan vendor:publish --provider="RedirectToken\Laravel\Providers\RedirectTokenServiceProvider" --tag=listeners
网站
https://gitlab.com/alasdairkeyes/redirecttoken-laravel
作者
- Alasdair Keyes - https://akeyes.co.uk/
许可证
在 GPL V3 下发布 - 请参阅包含的许可证文件。