Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

143 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ipcheck

一个PHP实现的应用层的IP管理工具

教程

一、环境要求

二、使用方法

1、直接在项目入口处引入 ipcheck 根目录下的 check.php 文件。如:
require '../ipcheck/check.php';

2、根据自己的 Redis 数据库信息,对 ipcheck/library/config 目录下的 sysconfig.php 文件进行数据配置。当然,该文件还可以配置其它一些系统参数,具体可以参考文件注释

3、根据业务的需求,适当配置拦截器的规则链。对应的配置文件是 ipcheck/library/config 目录下的 usrconfig 文件,系统默认关闭拦截器,仅仅使用基本的频率限制规则。
目前系统支持四个规则单元,他们组成了应用于拦截器的规则链,具体如下所示:

// 配置过滤规则(FilterRules)
    'RuleA' => array(                           // 规则A,单位时间内触发基本访问规则(BaseAccessRule)N次,则触发拦截器
        'AccessFrequency' => 10,                // 单位时间内允许触发系统基本访问规则(BaseAccessRule)的次数,默认'10'
        'TriggerTimeUnit' => 'h',               // 时间单位,可选:d-天 h-时,不区分大小写,默认'h'
    ),
    'RuleB' => array(                           // 规则B,单位时间内访问次数超过一定数量则触发拦截器
        'AccessFrequency' => 100,               // 单位时间内访问次数,默认'100'
        'TriggerTimeUnit' => 'h',               // 时间单位,可选:d-天 h-时,不区分大小写,默认'h'
    ),
    'RuleC' => array(                           // 规则C,单位时间内某一受保护的URL访问次数超过一定数量则触发拦截器
        'AccessFrequency' => 3,                 // 单位时间内访问次数,默认'3'
        'TriggerTimeUnit' => 'm',               // 时间单位,可选:d-天 h-时 m-分,不区分大小写,默认'm'
        'URLS' => array(                        // 受保护的URL,可以配置多个,不必配置主机域名部分
            '/example.php',                     // 拦截器会拦截:http://hostname/example.php、hostname/example.php?a=hello类型的请求
        ),
    ),
    'RuleD' => array(                           // 规则D,非白名单内的IP访问受保护的URL则触发拦截器
        'WhiteList' => array(                   // 白名单,可配置多个IP
            '127.0.0.1',
        ),
        'URLS' => array(                        // 受保护的URL,可配置多个,不必配置主机域名部分
            '/example.php',                     // 拦截器会拦截非白名单内的IP访问:http://hostname/example.php、hostname/example.php?a=hello类型的URL
        ),
    )

三、后台登录

配置好系统后,可以登录后台查看和管理系统的访问IP,初始账号密码是 admin/IpcheckAdmin。

About

一个PHP实现的WEB应用层的IP管理工具

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages