咨询/laravel-blockade

为您的Laravel应用提供一个简单的封锁功能,以防止未知代码的访问,并在需要时强制使用https。

1.7.0 2023-08-09 13:44 UTC

This package is auto-updated.

Last update: 2024-09-09 16:12:04 UTC


README

为您的Laravel应用提供一个简单的封锁功能,以防止未知代码的访问,并在需要时强制使用https.*

安装

  • 使用Composer安装Blockade: composer require konsulting/laravel-blockade

  • 如果您使用的是Laravel 5.5或更高版本,该包将自动发现服务提供程序。如果您使用的是Laravel的早期版本,请将Blockade的服务提供程序添加到config/app.php

'providers' => [
    // Other service providers...

    Konsulting\Laravel\Blockade\BlockadeServiceProvider::class,
],
  • 将中间件添加到您的app/Http/Kernel.php
protected $middlewareGroups = [
        'web' => [
            ... Other middleware
            \Konsulting\Laravel\Blockade\IsBlocked::class,
            \Konsulting\Laravel\Blockade\ForceSecure::class,
        ],
        ... Other middleware groups
    ];

仅添加您想要使用的中间件。

  • 发布配置并调整以适应您的站点
php artisan vendor:publish --provider=Konsulting\\Laravel\\Blockade\\BlockadeServiceProvider --tag=config
  • 可选地发布视图并调整以适应您的站点
php artisan vendor:publish --provider=Konsulting\\Laravel\\Blockade\\BlockadeServiceProvider --tag=views

配置选项

有一组小配置选项。有关更多信息,请参阅blockade.php配置文件。

key - 检查站点是否被封锁时使用的'解锁代码'的变量名。

code - 允许访问的代码,可以使用环境变量BLOCKADE_CODE.env文件中设置

multiple_codes - 是否允许使用多个代码(指定为逗号分隔的列表)。默认为false

show_form - Blockade是否应显示一个表单让用户输入代码?默认为false

redirect - 当被封锁时可选的重定向URL

until - 封锁可选的过期日期时间

not_blocked - 不应被封锁的URL模式数组

not_secure - 不应被强制使用https的URL模式数组

安全

如果您发现任何安全问题或有任何担忧,请发送电子邮件至keoghan@klever.co.uk,而不是使用问题跟踪器。

贡献

欢迎贡献,并将得到充分认可。我们将接受通过Pull Request的贡献。

  • 使用PSR-2编码标准
  • 添加测试,如果您不确定如何做,请提问。
  • 记录行为更改,包括readme.md。

测试

我们使用PHPUnit和优秀的orchestral/testbench

使用PHPUnit运行测试: vendor/bin/phpunit