hayrican / ipchecker
Laravel 扩展包,用于通过 IP 地址限制应用程序的访问
Requires
- ext-json: *
- ext-simplexml: *
This package is auto-updated.
Last update: 2024-09-29 05:35:45 UTC
README
此包通过 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。当前支持的驱动程序是 db
和 file
默认驱动程序是 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 可访问。
您可以在此处添加 IP 地址。
作者
Hayri Can BARÇIN
电子邮件: 联系我
许可证
此项目受 MIT 许可证许可 - 有关详细信息,请参阅许可证文件