elic-dev/laravel-site-protection

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

1.2.0 2023-07-12 07:16 UTC

This package is not auto-updated.

Last update: 2024-09-20 14:40:25 UTC


README

这将在您的应用前端添加一个简单的密码表单,以防止任何访问。密码使用.env文件指定,仅用于保护开发或测试环境。

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

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

看起来像

SiteProtection

安装

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