drkmode / laravel-knock-knock
使用简单的密码表单保护您的网站
Requires
- php: >=5.6.4
README
这将在您的应用前添加一个简单的密码表单,以保护您的网站免受任何访问。密码使用.env
文件指定,用于保护网站,通常用于DEV或STAGE网站。您可以为不同的用户组使用多个密码。一旦密码被移除,访问权限将被撤销。
您可以为不同的用户组使用多个密码。一旦密码被移除,访问权限将被撤销。
这不会保护任何资产文件,如css或图片。
看起来像
安装
composer require drkmode/laravel-knock-knock
Laravel >= 5.2
此包需要至少Laravel框架的版本5.2。
将ServiceProvider添加到app/config/app.php
中的providers数组。
DrkMode\SiteProtection\SiteProtectionServiceProvider::class,
Laravel >= 5.5
由于它支持自动发现,您不需要将此包添加到您的app/config/app.php
。
添加中间件
将中间件添加到app/Http/Kernel.php
或您想要保护的特定路由。
protected $middlewareGroups = [
'web' => [
...
\DrkMode\SiteProtection\Http\Middleware\SiteProtection::class,
],
...
];
Laravel >= 11
添加中间件
将中间件添加到bootstrap/app.php
或您想要保护的特定路由。
->withMiddleware(function (Middleware $middleware) {
$middleware->web(append: [
...
\DrkMode\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
设置Logo文件路径
您可以通过设置此.env
变量为图像的路径来添加您自己的公司或项目Logo。
SITE_PROTECTION_LOGO_PATH=/assets/logo.png
自定义
如果您真的需要,您可以通过将视图发布到资源文件夹来修改处理密码输入的视图。这不建议这样做,并可能在未来的更新中引起问题。首先尝试使用CSS文件的URI。
运行以下命令
php artisan vendor:publish --provider="DrkMode\SiteProtection\SiteProtectionServiceProvider" --tag=views
现在您可以在resources/vendor/views/site-protection/site-protection-form.blade.php
中进行更改。