hayrican/ipchecker

Laravel 扩展包,用于通过 IP 地址限制应用程序的访问

v1.3.0 2019-12-02 09:02 UTC

This package is auto-updated.

Last update: 2024-09-29 05:35:45 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version Scrutinizer Code Quality Codacy Badge Build Status Code Intelligence Status License

此包通过 IP 地址提供对应用程序的受限访问。

安装

要开始使用,您应该在项目中添加 hayrican/ipchecker Composer 依赖项

composer require hayrican/ipchecker

服务提供者(Laravel 5.5 及以下版本)

如果您使用的是 Laravel 5.5 的更高版本,可以跳过此步骤。

在您的 config/app.php 文件中注册提供者。

'providers' => [
    ...,
    HayriCan\IpChecker\IpCheckerServiceProvider::class,
]

配置

您应该发布供应商配置文件。

$ php artisan vendor:publish --tag="ipchecker"
驱动程序

配置文件名为 ipchecker.php。当前支持的驱动程序是 dbfile

默认驱动程序是 file,ipchecker 将使用文件来记录 IP 地址。但如果您想使用数据库进行记录,请使用以下迁移表:

php artisan migrate

在迁移之前,您必须将驱动程序更改为 db。否则,它将不会迁移表。

路由组中间件
'api_middleware'=>'api',
'web_middleware'=>'web',

如果您的路由具有与默认值不同的中间件,您可以在此处更改它们。这些路由中间件用于过滤拒绝访问的响应。

本地化

当您调用 php artisan vendor:publish --tag="ipchecker" 命令时,它还会将 lang 文件发布到您的 resources/lang 目录。您可以根据需要更改所有字段。

包使用

1. 添加中间件

将名为 ipchecker 的中间件添加到您想要记录数据的路由或控制器

// in app.php or web.php

Route::group(['middleware' => ['ipchecker']], function () {
    Route::get('test',function (){
        dd('Test API');
    });
});

当尝试访问此路由时,它将检查您的 IP 地址。如果您的 IP 地址不在列表中,您将获得响应

{
    "success": false,
    "code": 250,
    "message": "Your IP Address not in the list."
}

否则,您将可以访问该路由。

2. 添加 IP 地址

默认情况下,可以通过 yourdomain.com/iplists 访问配置仪表板,但可以从配置文件 ipchecker.php 进行配置

{
"settings"=>[
    "auth"       => false,
    "admin_id"=>[],
    "route_prefix"=> "",
    ],
}

如果您想保护此页面,只需将 "auth" 更改为 true 并需要 "auth" 中间件。

启用 auth 后,您可以将管理员用户 ID 添加到 "admin_id" 数组中。如果 "admin_id" 数组为空,则所有用户都可以访问 IP Checker 仪表板

{
"settings"=>[
   "auth"=> true,
   "admin_id"=>[2,5],
   "route_prefix"=> "",
   ],
}

您还可以更改此仪表板的路由前缀。如果将 "route_prefix" 更改为 "foo",则仪表板将通过 yourdomain.com/foo/iplists 可访问。

Screencast1

您可以在此处添加 IP 地址。

作者

Hayri Can BARÇIN
电子邮件: 联系我

许可证

此项目受 MIT 许可证许可 - 有关详细信息,请参阅许可证文件