bad-ip / bad-ip-php
bad_ip PHP 库
0.0.6
2020-06-14 23:57 UTC
Requires
- ext-curl: *
- ext-json: *
This package is not auto-updated.
Last update: 2024-09-30 18:46:40 UTC
README
一个 bad_ip PHP 在开源 MIT 许可证 下发布。
bad_ip PHP 库
安装
$ composer require bad-ip/ba-ip-php dev-master
使用方法
只需在示例中按如下所示在 index
的底部实例化即可
$bad_ip = new \bad_ip\bad_ip();
$bad_ip->init();
“容器”设置以简单数组的形式呈现
$settings = [
'token' => 'bad_ip_test',
'bot_access' => true,
'deny_access' => true,
'tor_block' => true,
'bad_queries' => true,
'login_incidents' => true,
'origin' => true,
'reporter' => false,
'log' => true
];
因此,您可以在示例中按如下所示在 init()
之前更改设置
$bad_ip = new \bad_ip\bad_ip();
$bad_ip->settings['log'] = false;
$bad_ip->settings['deny_access'] = false;
$bad_ip->settings['tor_block'] = false;
$bad_ip->init();
该库附带 loginHook
,其背后逻辑简单。您在失败的登录尝试上调用钩子,它会检查 Settings['login_attempts']
中的最大允许尝试次数,如果达到,则会报告 IP。失败登录计数器可以通过带有参数 true
的 loginHook
调用来重置,如下例所示
// part of login post logic presenting `loginHook` implementation example
$rsp = $mp->webLogin($data, 'user');
$bad_ip = new \bad_ip\bad_ip();
if ($rsp) {
if (isset($rsp['error'])) {
$context['notifications'] = [$rsp['error']];
} else {
if (isset($rsp['token'])) {
$bad_ip->loginHook(true); // login success
$secops->redirect('/user/dashboard', false);
}
}
} else {
$bad_ip->loginHook(); // login failed
$context['notifications'] = ['Error in login process'];
}
报告问题
请参阅我们关于 为 bad_ip PHP 贡献 的指南。
支持
有问题吗?想要聊天吗?遇到问题了吗?请参阅我们的 社区 页面。