webparking/laravel-limited-access

2.0.0 2022-01-28 10:01 UTC

This package is auto-updated.

Last update: 2024-08-28 15:53:00 UTC


README

Laravel 限制访问

Tests

本包为您的 Laravel 应用程序提供了一种简单的访问限制层。

使用限制访问,您可以在应用级别阻止或允许某些 IP 地址。您还可以定义一个访问代码列表,以在受信任用户之间分配。

一些用例包括:

  • 为尚未上线的应用程序设置访问代码。例如,验收环境。
  • 阻止恶意用户使用您的应用程序。只需将他们的 IP 地址添加到阻止列表中。
  • 使私有应用程序只有少数用户可以访问。只需阻止所有 IP 地址,除了您自己的。

以下是一个使用访问代码的登录示例:

screenshot

安装

将此包添加到 composer。

composer require webparking/laravel-limited-access

发布资产

php artisan vendor:publish --provider="Webparking\LimitedAccess\ServiceProvider" --tag="public"

可选步骤

发布配置

php artisan vendor:publish --provider="Webparking\LimitedAccess\ServiceProvider" --tag="config"

发布翻译

php artisan vendor:publish --provider="Webparking\LimitedAccess\ServiceProvider" --tag="lang"

或者直接发布所有内容

php artisan vendor:publish --provider="Webparking\LimitedAccess\ServiceProvider"

使用方法

要使用此包,您需要通过在配置中启用包或向 .env 文件中添加以下内容来启用它。

LIMITED_ACCESS_ENABLED=true

要添加访问代码,请将以下密钥添加到您的 .env 文件中,并以逗号分隔列表指定您的访问代码。

LIMITED_ACCESS_CODES=comma,separated,access,codes

阻止/忽略 IP 地址

config/limited-access 中,您可以添加单个 IP 地址或 CIDR 格式的 IP 地址范围。

示例

return [
    'block_ips' => [
        '192.168.1.0/24',
        '66.66.66.66', // 66.66.66.66/32 is equivalent
        '2000:ffff::1',
        '2000:ffff/64',
    ],

    'ignore_ips' => [
        '11.22.33.44',
        '10.0.0.0/8',
        '127.0.0.1',
        '::1',
    ],
];

阻止的 IP 地址优先于忽略的 IP 地址,因此将相同的地址或范围添加到两个数组中将会阻止该 IP 地址。

如果您希望所有人都需要密码,则可以留这两个数组为空。

许可和 Postcardware

本软件是开源的,并使用 MIT 许可证授权。

如果您在日常开发中使用本软件,我们非常乐意收到您家乡的明信片。

请寄至:Webparking BV, Cypresbaan 31a, 2908 LT Capelle aan den IJssel, The Netherlands