drkmode / laravel-knock-knock

使用简单的密码表单保护您的网站

1.2.2 2024-08-16 18:10 UTC

This package is auto-updated.

Last update: 2024-09-16 18:19:58 UTC


README

Latest Version on Packagist Total Downloads

这将在您的应用前添加一个简单的密码表单,以保护您的网站免受任何访问。密码使用.env文件指定,用于保护网站,通常用于DEV或STAGE网站。您可以为不同的用户组使用多个密码。一旦密码被移除,访问权限将被撤销。

您可以为不同的用户组使用多个密码。一旦密码被移除,访问权限将被撤销。

这不会保护任何资产文件,如css或图片。

看起来像

SiteProtection

安装

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中进行更改。