elic-dev / laravel-site-protection
使用简单的密码表单保护您的站点
Requires
- php: >=5.6.4
This package is not auto-updated.
Last update: 2024-09-20 14:40:25 UTC
README
这将在您的应用前端添加一个简单的密码表单,以防止任何访问。密码使用.env
文件指定,仅用于保护开发或测试环境。
您可以为不同的用户组使用多个密码。一旦密码被移除,访问将被撤销。
这不会保护任何资产文件,如CSS或图片。
看起来像
安装
composer require elic-dev/laravel-site-protection
Laravel >= 5.2
此包至少需要版本为 5.2 的Laravel框架。
将ServiceProvider添加到app/config/app.php
中的providers数组。
ElicDev\SiteProtection\SiteProtectionServiceProvider::class,
Laravel >= 5.5
由于它支持自动发现,您不需要将此包添加到app/config/app.php
。
添加中间件(Laravel < 11.0)
将中间件添加到app/Http/Kernel.php
或您想要保护的特定路由。
protected $middlewareGroups = [
'web' => [
...
\ElicDev\SiteProtection\Http\Middleware\SiteProtection::class,
],
...
];
添加中间件(Laravel >= 11.0)
在config/app.php
中编辑中间件,并将其包含在'web'中间件中。
->withMiddleware(function (Middleware $middleware) {
$middleware->appendToGroup('web',\ElicDev\SiteProtection\Http\Middleware\SiteProtection::class);
})
配置
大多数配置可以通过添加以下键到您的.env
文件使用ENV变量来完成。
调整密码
您可以使用逗号分隔的多个密码。
SITE_PROTECTION_PASSWORDS=password1,password2
要撤销对您站点的访问,只需更改密码。这要求使用旧密码的每个用户重新输入密码。
排除某些路径的保护
您可以将特定路径排除在保护之外。将逗号分隔的路径列表添加到您的.env
文件中。您可以使用*
排除一组路径。
SITE_PROTECTION_EXCEPT_PATHS=path1,path2,login*
仅保护特定路径
您可以选择仅保护某些路径。将逗号分隔的路径列表添加到您的.env
文件中。您可以使用*
保护一组路径。
SITE_PROTECTION_PROTECTED_ONLY_PATHS=path1,path2,admin*
设置CSS文件URI
您可以通过添加主CSS文件的URI来更改密码保护页面的外观和感觉。CSS文件附加到现有的CSS样式以保持基本对齐。
SITE_PROTECTION_CSS_FILE_URI=/assets/app.css
Cookie有效期
以秒为单位设置cookie有效期的持续时间。默认设置为一年。以下.env
值将其更改为一周。
SITE_PROTECTION_COOKIE_LIFETIME=604800
定制
如果您真的需要。您可以通过将视图发布到资源文件夹来修改处理密码输入的视图。这不被推荐,并可能在未来的更新中引起问题。首先尝试使用CSS文件的URI。
运行以下命令
php artisan vendor:publish --provider="ElicDev\SiteProtection\SiteProtectionServiceProvider" --tag=views
现在您可以在resources/vendor/views/site-protection/site-protection-form.blade.php
中进行更改。