bad-ip/bad-ip-php

bad_ip PHP 库

0.0.6 2020-06-14 23:57 UTC

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。失败登录计数器可以通过带有参数 trueloginHook 调用来重置,如下例所示

    // 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 贡献 的指南。

支持

有问题吗?想要聊天吗?遇到问题了吗?请参阅我们的 社区 页面。