咨询 / laravel-blockade
为您的Laravel应用提供一个简单的封锁功能,以防止未知代码的访问,并在需要时强制使用https。
Requires
- php: ^5.6 || ^7.0 || ^8.0
- laravel/framework: ^5.3 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0
Requires (Dev)
- orchestra/testbench-browser-kit: ^5.0 || ^6.0 || ^7.0 || ^8.0
- phpunit/phpunit: ^9.5
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