alasdairkeyes/redirecttoken-laravel

redirecttoken包的Laravel集成

2.0.0 2022-04-29 12:47 UTC

This package is not auto-updated.

Last update: 2024-09-28 00:37:23 UTC


README

pipeline status coverage report Latest Version on Packagist Total Downloads

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

查询键

默认生成的查询字符串使用查询参数 uritoken

这可以通过以下方式更改

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

作者

许可证

在 GPL V3 下发布 - 请参阅包含的许可证文件。