一种基于IP访问的动态控制用户行为的方法及系统.pdf

上传人:62****3 文档编号:666906 上传时间:2018-03-02 格式:PDF 页数:12 大小:1.64MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410293679.8

申请日:

2014.06.26

公开号:

CN104065657A

公开日:

2014.09.24

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04L 29/06申请日:20140626|||公开

IPC分类号:

H04L29/06

主分类号:

H04L29/06

申请人:

北京思特奇信息技术股份有限公司

发明人:

翟江维

地址:

100086 北京市海淀区中关村南大街6号中电信息大厦16层

优先权:

专利代理机构:

北京轻创知识产权代理有限公司 11212

代理人:

杨立

PDF下载: PDF下载
内容摘要

本发明涉及一种基于IP访问的动态控制用户行为的方法,包括:1:接收用户请求,记录访问日志;2:提取访问日志中的IP信息,将IP信息保存到IP统计文件中;3:判断当前是否存在黑名单数据库,如有,执行步骤4;否则,执行5;4:将当前用户的IP信息与黑名单数据库进行对比,如果匹配,判断当前用户为非法用户,执行步骤7;否则,执行5;5:每间隔一定时间,统计当前用户访问次数;6:判断访问次数是否大于预设值,如是,判断当前用户为非法用户,执行7;否则,判断当前用户为合法用户,执行8;7:将非法用户的IP信息存入黑名单数据库中,结束;8:响应当前用户请求。对网站流量进行自动监控和屏蔽,避免恶意大流量攻击,增加网站安全性。

权利要求书

1.  一种基于IP访问的动态控制用户行为的方法,其特征在于,具体包括以下步骤:
步骤1:接收用户请求,记录发送请求的用户的访问日志和访问次数;
步骤2:提取用户的访问日志中的IP信息,将IP信息保存到IP统计文件中;
步骤3:判断当前是否存在黑名单数据库,如果有,执行步骤4;否则,建立黑名单数据库,执行步骤5;
步骤4:将当前用户的IP信息与黑名单数据库中的IP信息进行逐一对比,如果匹配,判断当前用户为非法用户,执行步骤7;否则,执行步骤5;
步骤5:每间隔一定时间,统计当前用户的IP统计文件中用户的访问次数;
步骤6:判断所述访问次数是否大于预设值,如果是,判断当前用户为非法用户,执行步骤7;否则,判断当前用户为合法用户,执行步骤8;
步骤7:将非法用户的IP信息存入黑名单数据库中,结束;
步骤8:响应当前用户请求,根据当前用户请求返回相应的信息。

2.
  根据权利要求1所述的一种基于IP访问的动态控制用户行为的方法,其特征在于,所述黑名单数据库包括定时段黑名单和当日黑名单,所述定时段黑名单在设定时间段内有效,每间隔设定时间自动清空其中保存的所有IP信息,对新的非法用户的IP信息进行重新统计,整理为新的定时段黑名单;所述当日黑名单当日有效,每日自动清空其中保存的IP信息,对新的非法用户的IP信息进行重新统计,整理为新的当日黑名单。

3.
  根据权利要求2所述的一种基于IP访问的动态控制用户行为的方法,其特征在于,所述步骤4具体包括以下步骤:
步骤4.1:将当前用户的IP信息与定时段黑名单中的IP信息进行逐一对比,如果匹配,判断当前用户为非法用户,执行步骤7;否则,执行步骤4.2;
步骤4.2:将当前用户的IP信息与当日黑名单中的IP信息进行逐一对比,如果匹配,判断当前用户为非法用户,执行步骤7;否则,执行步骤5。

4.
  根据权利要求1-3任一项所述的一种基于IP访问的动态控制用户行为的方法,其特征在于,所述步骤7中将非法用户的IP信息同时存入当前定时段黑名单和当日黑名单中。

5.
  一种基于IP访问的动态控制用户行为的系统,包括:接收模块、提取模块、黑名单数据库、判断模块、访问次数统计模块和服务器;
所述接收模块接收用户请求,记录发送请求的用户的访问日志和访问次数,并将所述访问日志和访问次数发送到提取模块中;
所述提取模块提取用户的访问日志中的IP信息,将IP信息保存到IP统计文件中,并将所述IP统计文件发送到判断模块中;
所述黑名单数据库用于存储非法用户的IP信息;
所述判断模块将接收到的IP统计文件中的IP信息与黑名单数据库中的IP信息进行对比,将IP信息匹配的用户判断为非法用户,将IP信息不匹配的IP统计文件发送到访问次数统计模块;
所述访问次数统计模块每间隔一定时间,统计当前用户的IP统计文件中用户的访问次数;如果所述访问次数大于预设值,判断当前用户为非法用户;如果访问次数不大于预设值,将当前用户的请求发送到服务器;
所述服务器响应当前用户请求,根据当前用户请求返回相应的信息。

6.
  根据权利要求5所述的一种基于IP访问的动态控制用户行为的系统,其特征在于,所述黑名单数据库包括定时段黑名单和当日黑名单,所述定时段黑名单在设定时间段内有效,每间隔设定时间自动清空其中保存的所有IP 信息,对新的非法用户的IP信息进行重新统计,整理为新的定时段黑名单;所述当日黑名单当日有效,每日自动清空其中保存的IP信息,对新的非法用户的IP信息进行重新统计,整理为新的当日黑名单。

7.
  根据权利要求6所述的一种基于IP访问的动态控制用户行为的系统,其特征在于,所述判断模块首先将当前用户的IP信息与定时段黑名单中的IP信息进行逐一对比,再将将当前用户的IP信息与当日黑名单中的IP信息进行逐一对比,如果有一个匹配,判断当前用户为非法用户;
当前用户的IP信息即不与定时段黑名单中的IP信息匹配,又不与当日黑名单中的IP匹配时,所述判断模块将当前用户的IP统计文件发送到访问次数统计模块。

8.
  根据权利要求5-7任一项所述的一种基于IP访问的动态控制用户行为的系统,其特征在于,所述判断模块判断当前用户为非法用户时,将非法用户的IP信息同时存入当前定时段黑名单和当日黑名单中。

说明书

一种基于IP访问的动态控制用户行为的方法及系统
技术领域
本发明涉及一种基于IP访问的动态控制用户行为的方法及系统,属于软件技术领域
背景技术
随着互联网技术的发展,大多数网站遭受黑客大流量、压力测试验证等攻击直至系统瘫痪。目前,很多网站缺乏针对某一类用户动态(根据用户的行为动态控制权限)的进行网站资源的访问控制。
Shell脚本,Shell既是一种命令语言,又是一种程序设计语言,即脚本,类似windows的“.bat”,作用就是遵循一定语法将输入的命令传递加以解释并传递给系统。
Nginx服务器,为前端WEB服务器,一个高性能的HTTP和反向代理服务器,具有简单的负载均衡和容错功能。
发明内容
本发明所要解决的技术问题是,针对现有技术由于部分用户恶意的大流量攻击网站,导致网站流量激增,服务器处理能力下降,引起的普通用户无法正常使用的不足,提供一种对网站流量进行合理的控制,增加网站的安全性的基于IP访问的动态控制用户行为的方法。
本发明解决上述技术问题的技术方案如下:一种基于IP访问的动态控制用户行为的方法,具体包括以下步骤:
步骤1:接收用户请求,记录发送请求的用户的访问日志和访问次数;
步骤2:提取用户的访问日志中的IP信息,将IP信息保存到IP统计文件中;
步骤3:判断当前是否存在黑名单数据库,如果有,执行步骤4;否则,建立黑名单数据库,执行步骤5;
步骤4:将当前用户的IP信息与黑名单数据库中的IP信息进行逐一对比,如果匹配,判断当前用户为非法用户,执行步骤7;否则,执行步骤5;
步骤5:每间隔一定时间,统计当前用户的IP统计文件中用户的访问次数;
步骤6:判断所述访问次数是否大于预设值,如果是,判断当前用户为非法用户,执行步骤7;否则,判断当前用户为合法用户,执行步骤8;
步骤7:将非法用户的IP信息存入黑名单数据库中,结束;
步骤8:响应当前用户请求,根据当前用户请求返回相应的信息。
本发明的有益效果是:本发明对网站流量进行自动监控和屏蔽,避免恶意大流量攻击,增加网站安全性;基于IP访问的动态控制用户行为,主要是通过配置IP监控脚本进而实现网站流量自动监视和控制,实现对网站大流量攻击的控制技术;基于开源Nginx服务器的用户访问日志,进行访问IP信息统计,为监控脚本提供元数据,对于大流量的用户进行限制。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述黑名单数据库包括定时段黑名单和当日黑名单,所述定时段黑名单在设定时间段内有效,每间隔设定时间自动清空其中保存的所有IP信息,对新的非法用户的IP信息进行重新统计,整理为新的定时段黑名单;所述当日黑名单当日有效,每日自动清空其中保存的IP信息,对新的非法用户的IP信息进行重新统计,整理为新的当日黑名单。
进一步,所述步骤4具体包括以下步骤:
步骤4.1:将当前用户的IP信息与定时段黑名单中的IP信息进行逐一 对比,如果匹配,判断当前用户为非法用户,执行步骤7;否则,执行步骤4.2;
步骤4.2:将当前用户的IP信息与当日黑名单中的IP信息进行逐一对比,如果匹配,判断当前用户为非法用户,执行步骤7;否则,执行步骤5。
进一步,所述步骤7中将非法用户的IP信息同时存入当前定时段黑名单和当日黑名单中。
本发明所要解决的技术问题是,针对现有技术由于部分用户恶意的大流量攻击网站,导致网站流量激增,服务器处理能力下降,引起的普通用户无法正常使用的不足,提供一种对网站流量进行合理的控制,增加网站的安全性的基于IP访问的动态控制用户行为的系统。
本发明解决上述技术问题的技术方案如下:一种基于IP访问的动态控制用户行为的系统,包括:接收模块、提取模块、黑名单数据库、判断模块、访问次数统计模块和服务器;
所述接收模块接收用户请求,记录发送请求的用户的访问日志和访问次数,并将所述访问日志和访问次数发送到提取模块中;
所述提取模块提取用户的访问日志中的IP信息,将IP信息保存到IP统计文件中,并将所述IP统计文件发送到判断模块中;
所述黑名单数据库用于存储非法用户的IP信息;
所述判断模块将接收到的IP统计文件中的IP信息与黑名单数据库中的IP信息进行对比,将IP信息匹配的用户判断为非法用户,将IP信息不匹配的IP统计文件发送到访问次数统计模块;
所述访问次数统计模块每间隔一定时间,统计当前用户的IP统计文件中用户的访问次数;如果所述访问次数大于预设值,判断当前用户为非法用户;如果访问次数不大于预设值,将当前用户的请求发送到服务器;
所述服务器响应当前用户请求,根据当前用户请求返回相应的信息。
本发明的有益效果是:本发明对网站流量进行自动监控和屏蔽,避免恶意大流量攻击,增加网站安全性;基于IP访问的动态控制用户行为,主要是通过配置IP监控脚本进而实现网站流量自动监视和控制,实现对网站大流量攻击的控制技术;基于开源Nginx服务器的用户访问日志,进行访问IP信息统计,为监控脚本提供元数据,对于大流量的用户进行限制。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述黑名单数据库包括定时段黑名单和当日黑名单,所述定时段黑名单在设定时间段内有效,每间隔设定时间自动清空其中保存的所有IP信息,对新的非法用户的IP信息进行重新统计,整理为新的定时段黑名单;所述当日黑名单当日有效,每日自动清空其中保存的IP信息,对新的非法用户的IP信息进行重新统计,整理为新的当日黑名单。
进一步,所述判断模块首先将当前用户的IP信息与定时段黑名单中的IP信息进行逐一对比,再将将当前用户的IP信息与当日黑名单中的IP信息进行逐一对比,如果有一个匹配,判断当前用户为非法用户;
当前用户的IP信息即不与定时段黑名单中的IP信息匹配,又不与当日黑名单中的IP匹配时,所述判断模块将当前用户的IP统计文件发送到访问次数统计模块。
进一步,所述判断模块判断当前用户为非法用户时,将非法用户的IP信息同时存入当前定时段黑名单和当日黑名单中。
附图说明
图1为本发明所述的一种基于IP访问的动态控制用户行为的方法流程图;
图2为本发明所述的一种基于IP访问的动态控制用户行为的系统结构框图;
图3为本发明为本发明所述的一种基于IP访问的动态控制用户行为的方法用户访问流程图。
附图中,各标号所代表的部件列表如下:
1、接收模块,2、提取模块,3、黑名单数据库,4、判断模块,5、访问次数统计模块,6、服务器。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,为本发明所述的一种基于IP访问的动态控制用户行为的方法,具体包括以下步骤:
步骤1:接收用户请求,记录发送请求的用户的访问日志和访问次数;
步骤2:提取用户的访问日志中的IP信息,将IP信息保存到IP统计文件中;
步骤3:判断当前是否存在黑名单数据库,如果有,执行步骤4;否则,建立黑名单数据库,执行步骤5;
步骤4:将当前用户的IP信息与黑名单数据库中的IP信息进行逐一对比,如果匹配,判断当前用户为非法用户,执行步骤7;否则,执行步骤5;
步骤5:每间隔一定时间,统计当前用户的IP统计文件中用户的访问次数;
步骤6:判断所述访问次数是否大于预设值,如果是,判断当前用户为非法用户,执行步骤7;否则,判断当前用户为合法用户,执行步骤8;
步骤7:将非法用户的IP信息存入黑名单数据库中,结束;
步骤8:响应当前用户请求,根据当前用户请求返回相应的信息。
所述黑名单数据库包括定时段黑名单和当日黑名单,所述定时段黑名单 在设定时间段内有效,每间隔设定时间自动清空其中保存的所有IP信息,对新的非法用户的IP信息进行重新统计,整理为新的定时段黑名单;所述当日黑名单当日有效,每日自动清空其中保存的IP信息,对新的非法用户的IP信息进行重新统计,整理为新的当日黑名单。
所述步骤4具体包括以下步骤:
步骤4.1:将当前用户的IP信息与定时段黑名单中的IP信息进行逐一对比,如果匹配,判断当前用户为非法用户,执行步骤7;否则,执行步骤4.2;
步骤4.2:将当前用户的IP信息与当日黑名单中的IP信息进行逐一对比,如果匹配,判断当前用户为非法用户,执行步骤7;否则,执行步骤5。
所述步骤7中将非法用户的IP信息同时存入当前定时段黑名单和当日黑名单中。
如图2所示,为本发明所述的一种基于IP访问的动态控制用户行为的系统,包括:接收模块1、提取模块2、黑名单数据库3、判断模块4、访问次数统计模块5和服务器6;
所述接收模块1接收用户请求,记录发送请求的用户的访问日志和访问次数,并将所述访问日志和访问次数发送到提取模块2中;
所述提取模块2提取用户的访问日志中的IP信息,将IP信息保存到IP统计文件中,并将所述IP统计文件发送到判断模块4中;
所述黑名单数据库3用于存储非法用户的IP信息;
所述判断模块4将接收到的IP统计文件中的IP信息与黑名单数据库3中的IP信息进行对比,将IP信息匹配的用户判断为非法用户,将IP信息不匹配的IP统计文件发送到访问次数统计模块5;
所述访问次数统计模块5每间隔一定时间,统计当前用户的IP统计文件中用户的访问次数;如果所述访问次数大于预设值,判断当前用户为非法 用户;如果访问次数不大于预设值,将当前用户的请求发送到服务器6;
所述服务器6响应当前用户请求,根据当前用户请求返回相应的信息。
所述黑名单数据库3包括定时段黑名单和当日黑名单,所述定时段黑名单在设定时间段内有效,每间隔设定时间自动清空其中保存的所有IP信息,对新的非法用户的IP信息进行重新统计,整理为新的定时段黑名单;所述当日黑名单当日有效,每日自动清空其中保存的IP信息,对新的非法用户的IP信息进行重新统计,整理为新的当日黑名单。
所述判断模块4首先将当前用户的IP信息与定时段黑名单中的IP信息进行逐一对比,再将将当前用户的IP信息与当日黑名单中的IP信息进行逐一对比,如果有一个匹配,判断当前用户为非法用户;
当前用户的IP信息即不与定时段黑名单中的IP信息匹配,又不与当日黑名单中的IP匹配时,所述判断模块4将当前用户的IP统计文件发送到访问次数统计模块5。
所述判断模块4判断当前用户为非法用户时,将非法用户的IP信息同时存入当前定时段黑名单和当日黑名单中。
基于IP访问的动态控制用户行为,主要是通过配置IP监控脚本进而实现网站流量自动监视和控制,实现对网站大流量攻击的控制技术。具体实现方式:利用SHELL脚本(Shell既是一种命令语言,又是一种程序设计语言即,脚本,类似windows的.bat作用就是遵循一定语法将输入的命令传递加以解释并传递给系统),基于开源Nginx(前端WEB服务器,一个高性能的HTTP和反向代理服务器,具有简单的负载均衡和容错功能)服务器的用户访问日志,进行访问IP信息统计,为监控脚本提供元数据,对于大流量的用户进行限制。
非法用户的定义:正常的用户从访问开始到完成业务操作,都需要有一定的时间消耗,操作的频率上也有一定的间隔;例如:对于3分钟(时间根 据具体系统情况而设定)内,用户的访问量大于200(访问量根据系统情况而设定)的情况,系统视该用户非法操作,对其行为进行屏蔽;其他的操作情况视为合法访问用户。
IP监控流程说明:
Nginx服务器接收到用户的请求后,根据红、黑名单的配置情况,进行过滤。如果存在红名单或不存在黑名单中,用户请求就会被代理到应用服务器中进行处理;如果不存在红名单,存在黑名单中,用户请求就会被Nginx服务器直接返回,给用户一个友好的提示页面。
1)通过IPcount.sh脚本定时将用户的访问日志中IP信息分离至IP统计文件中;
2)根据IP统计文件,通过IPmin.sh脚本定时统计每5分钟内用户当前的访问量,并将非法用户的IP信息写至blockIP_hour.conf(每小时的黑名单)文件中;该黑名单的有效期为1小时,起到事中控制的作用,有效期过后,由IPblock.sh脚本自动清空黑名单;
3)根据IP统计文件,通过IPblock.sh脚本定时统计截至当前,当天的每个用户的访问量,并将非法用户的IP信息写至blockIP.conf(当天的黑名单)文件中;该脚本每小时执行一次,起到事后处理的作用,该黑名单有效期为1天,有效期过后,重新统计;
4)将黑名单、红名单文件加载至Nginx服务器的配置文件中;
5)定时执行ngreload.sh脚本,功能:定时的重启Nginx服务器,使黑名单、红名单配置生效,自动屏蔽非法用户。
SHELL脚本详细解释:
1)IPcount.sh:这个文件主要用于分离nginx的log访问日志信息,每小时产生一个用户的IP统计文件。
#!/bin/sh
.$HOME/.profile
cp/echnweb/nginx/logs/access.log/echnweb/nginx/logs/bak/access.`date+%Y%m%d%H`
>/echnweb/nginx/logs/access.log
cd/echnweb/nginx/logs/bak
awk'{print$1}'access.`date+%Y%m%d%H`|more>IP.`date+%Y%m%d%H`
gzIP-9access.`date+%Y%m%d%H`
2)IPblock.sh:将当天用户访问在8000次的IP信息,写入每天IP黑名单文件中,进行屏蔽。
#!/bin/sh
export IPLOG_PATH=/echnweb/nginx/logs/bak
export IPHOST_PATH=/echnweb/nginx/conf/vhosts
cat $IPLOG_PATH/IP.`date+%Y%m%d`*|sort|uniq-c|sort-n-r|head-n10|awk'$1>8000{print"deny"$2";"}'>>$IPHOST_PATH/tmp/blockIP.conf`date+%Y%m%d%H`
cat $IPHOST_PATH/tmp/blockIP.conf2011*|sort-u>$IPHOST_PATH/blockIP.conf
echo`date+%Y%m%d%H%M`
3)IPmin.sh:统计最近访问10000的记录当中,如果有超过200条属于同一IP地址,那么加入到每小时黑名单文件blockIP_hour.conf。
#!/bin/sh
export IPHOST_PATH=/echnweb/nginx/conf/vhosts
tail-10000/echnweb/nginx/logs/access.log|awk'{print$1}'|sort|uniq-c|sort-n-r|head-n10|awk'$1>2000{print"deny "$2";"}'>$IPHOST_PATH/blockIP_hour.conf
echo`date+%Y%m%d%H%M`
4)ngreload.sh:服务器nginx配置文件自动生效脚本。
#!/bin/sh
.$HOME/.profile
cd/echnweb/nginx/sbin
nginx-s reload
echo"open.sh end at"`date+%Y%m%d%H%M%S-d`
5)Nginx服务器配置文件:红色部分为增加部分,必须按照以下顺序,即红名单配置文件放在前面,黑名单在后。

脚本启动方式:
在服务器中启动定时任务:
59****/echnweb/shell/IPmoni/IPcount.sh>>/echnweb/shell/IPmoni/IPcount.log
3**** /echnweb/shell/IPmoni/IPblock.sh>>/echnweb/shell/IPmoni/IPblock.log
0,5,10,15,20,25,30,35,40,45,50,55****/echnweb/shell/IPmoni/IPmin.sh>>/echnweb/shell/IPmoni/IPmin.log
2,7,12,17,22,27,32,37,42,47,52,57****/echnweb/shell/IPmoni/ngreload.sh>>/echnweb/shell/IPmoni/ngreload.log
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

一种基于IP访问的动态控制用户行为的方法及系统.pdf_第1页
第1页 / 共12页
一种基于IP访问的动态控制用户行为的方法及系统.pdf_第2页
第2页 / 共12页
一种基于IP访问的动态控制用户行为的方法及系统.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《一种基于IP访问的动态控制用户行为的方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种基于IP访问的动态控制用户行为的方法及系统.pdf(12页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104065657A43申请公布日20140924CN104065657A21申请号201410293679822申请日20140626H04L29/0620060171申请人北京思特奇信息技术股份有限公司地址100086北京市海淀区中关村南大街6号中电信息大厦16层72发明人翟江维74专利代理机构北京轻创知识产权代理有限公司11212代理人杨立54发明名称一种基于IP访问的动态控制用户行为的方法及系统57摘要本发明涉及一种基于IP访问的动态控制用户行为的方法,包括1接收用户请求,记录访问日志;2提取访问日志中的IP信息,将IP信息保存到IP统计文件中;3判断当前是否存在黑名。

2、单数据库,如有,执行步骤4;否则,执行5;4将当前用户的IP信息与黑名单数据库进行对比,如果匹配,判断当前用户为非法用户,执行步骤7;否则,执行5;5每间隔一定时间,统计当前用户访问次数;6判断访问次数是否大于预设值,如是,判断当前用户为非法用户,执行7;否则,判断当前用户为合法用户,执行8;7将非法用户的IP信息存入黑名单数据库中,结束;8响应当前用户请求。对网站流量进行自动监控和屏蔽,避免恶意大流量攻击,增加网站安全性。51INTCL权利要求书2页说明书7页附图2页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书7页附图2页10申请公布号CN104065657ACN10。

3、4065657A1/2页21一种基于IP访问的动态控制用户行为的方法,其特征在于,具体包括以下步骤步骤1接收用户请求,记录发送请求的用户的访问日志和访问次数;步骤2提取用户的访问日志中的IP信息,将IP信息保存到IP统计文件中;步骤3判断当前是否存在黑名单数据库,如果有,执行步骤4;否则,建立黑名单数据库,执行步骤5;步骤4将当前用户的IP信息与黑名单数据库中的IP信息进行逐一对比,如果匹配,判断当前用户为非法用户,执行步骤7;否则,执行步骤5;步骤5每间隔一定时间,统计当前用户的IP统计文件中用户的访问次数;步骤6判断所述访问次数是否大于预设值,如果是,判断当前用户为非法用户,执行步骤7;否。

4、则,判断当前用户为合法用户,执行步骤8;步骤7将非法用户的IP信息存入黑名单数据库中,结束;步骤8响应当前用户请求,根据当前用户请求返回相应的信息。2根据权利要求1所述的一种基于IP访问的动态控制用户行为的方法,其特征在于,所述黑名单数据库包括定时段黑名单和当日黑名单,所述定时段黑名单在设定时间段内有效,每间隔设定时间自动清空其中保存的所有IP信息,对新的非法用户的IP信息进行重新统计,整理为新的定时段黑名单;所述当日黑名单当日有效,每日自动清空其中保存的IP信息,对新的非法用户的IP信息进行重新统计,整理为新的当日黑名单。3根据权利要求2所述的一种基于IP访问的动态控制用户行为的方法,其特征。

5、在于,所述步骤4具体包括以下步骤步骤41将当前用户的IP信息与定时段黑名单中的IP信息进行逐一对比,如果匹配,判断当前用户为非法用户,执行步骤7;否则,执行步骤42;步骤42将当前用户的IP信息与当日黑名单中的IP信息进行逐一对比,如果匹配,判断当前用户为非法用户,执行步骤7;否则,执行步骤5。4根据权利要求13任一项所述的一种基于IP访问的动态控制用户行为的方法,其特征在于,所述步骤7中将非法用户的IP信息同时存入当前定时段黑名单和当日黑名单中。5一种基于IP访问的动态控制用户行为的系统,包括接收模块、提取模块、黑名单数据库、判断模块、访问次数统计模块和服务器;所述接收模块接收用户请求,记录。

6、发送请求的用户的访问日志和访问次数,并将所述访问日志和访问次数发送到提取模块中;所述提取模块提取用户的访问日志中的IP信息,将IP信息保存到IP统计文件中,并将所述IP统计文件发送到判断模块中;所述黑名单数据库用于存储非法用户的IP信息;所述判断模块将接收到的IP统计文件中的IP信息与黑名单数据库中的IP信息进行对比,将IP信息匹配的用户判断为非法用户,将IP信息不匹配的IP统计文件发送到访问次数统计模块;所述访问次数统计模块每间隔一定时间,统计当前用户的IP统计文件中用户的访问次数;如果所述访问次数大于预设值,判断当前用户为非法用户;如果访问次数不大于预设值,将当前用户的请求发送到服务器;所。

7、述服务器响应当前用户请求,根据当前用户请求返回相应的信息。权利要求书CN104065657A2/2页36根据权利要求5所述的一种基于IP访问的动态控制用户行为的系统,其特征在于,所述黑名单数据库包括定时段黑名单和当日黑名单,所述定时段黑名单在设定时间段内有效,每间隔设定时间自动清空其中保存的所有IP信息,对新的非法用户的IP信息进行重新统计,整理为新的定时段黑名单;所述当日黑名单当日有效,每日自动清空其中保存的IP信息,对新的非法用户的IP信息进行重新统计,整理为新的当日黑名单。7根据权利要求6所述的一种基于IP访问的动态控制用户行为的系统,其特征在于,所述判断模块首先将当前用户的IP信息与定。

8、时段黑名单中的IP信息进行逐一对比,再将将当前用户的IP信息与当日黑名单中的IP信息进行逐一对比,如果有一个匹配,判断当前用户为非法用户;当前用户的IP信息即不与定时段黑名单中的IP信息匹配,又不与当日黑名单中的IP匹配时,所述判断模块将当前用户的IP统计文件发送到访问次数统计模块。8根据权利要求57任一项所述的一种基于IP访问的动态控制用户行为的系统,其特征在于,所述判断模块判断当前用户为非法用户时,将非法用户的IP信息同时存入当前定时段黑名单和当日黑名单中。权利要求书CN104065657A1/7页4一种基于IP访问的动态控制用户行为的方法及系统技术领域0001本发明涉及一种基于IP访问的。

9、动态控制用户行为的方法及系统,属于软件技术领域。背景技术0002随着互联网技术的发展,大多数网站遭受黑客大流量、压力测试验证等攻击直至系统瘫痪。目前,很多网站缺乏针对某一类用户动态根据用户的行为动态控制权限的进行网站资源的访问控制。0003SHELL脚本,SHELL既是一种命令语言,又是一种程序设计语言,即脚本,类似WINDOWS的“BAT”,作用就是遵循一定语法将输入的命令传递加以解释并传递给系统。0004NGINX服务器,为前端WEB服务器,一个高性能的HTTP和反向代理服务器,具有简单的负载均衡和容错功能。发明内容0005本发明所要解决的技术问题是,针对现有技术由于部分用户恶意的大流量攻。

10、击网站,导致网站流量激增,服务器处理能力下降,引起的普通用户无法正常使用的不足,提供一种对网站流量进行合理的控制,增加网站的安全性的基于IP访问的动态控制用户行为的方法。0006本发明解决上述技术问题的技术方案如下一种基于IP访问的动态控制用户行为的方法,具体包括以下步骤0007步骤1接收用户请求,记录发送请求的用户的访问日志和访问次数;0008步骤2提取用户的访问日志中的IP信息,将IP信息保存到IP统计文件中;0009步骤3判断当前是否存在黑名单数据库,如果有,执行步骤4;否则,建立黑名单数据库,执行步骤5;0010步骤4将当前用户的IP信息与黑名单数据库中的IP信息进行逐一对比,如果匹配。

11、,判断当前用户为非法用户,执行步骤7;否则,执行步骤5;0011步骤5每间隔一定时间,统计当前用户的IP统计文件中用户的访问次数;0012步骤6判断所述访问次数是否大于预设值,如果是,判断当前用户为非法用户,执行步骤7;否则,判断当前用户为合法用户,执行步骤8;0013步骤7将非法用户的IP信息存入黑名单数据库中,结束;0014步骤8响应当前用户请求,根据当前用户请求返回相应的信息。0015本发明的有益效果是本发明对网站流量进行自动监控和屏蔽,避免恶意大流量攻击,增加网站安全性;基于IP访问的动态控制用户行为,主要是通过配置IP监控脚本进而实现网站流量自动监视和控制,实现对网站大流量攻击的控制。

12、技术;基于开源NGINX服务器的用户访问日志,进行访问IP信息统计,为监控脚本提供元数据,对于大流量的用户进行限制。说明书CN104065657A2/7页50016在上述技术方案的基础上,本发明还可以做如下改进。0017进一步,所述黑名单数据库包括定时段黑名单和当日黑名单,所述定时段黑名单在设定时间段内有效,每间隔设定时间自动清空其中保存的所有IP信息,对新的非法用户的IP信息进行重新统计,整理为新的定时段黑名单;所述当日黑名单当日有效,每日自动清空其中保存的IP信息,对新的非法用户的IP信息进行重新统计,整理为新的当日黑名单。0018进一步,所述步骤4具体包括以下步骤0019步骤41将当前用。

13、户的IP信息与定时段黑名单中的IP信息进行逐一对比,如果匹配,判断当前用户为非法用户,执行步骤7;否则,执行步骤42;0020步骤42将当前用户的IP信息与当日黑名单中的IP信息进行逐一对比,如果匹配,判断当前用户为非法用户,执行步骤7;否则,执行步骤5。0021进一步,所述步骤7中将非法用户的IP信息同时存入当前定时段黑名单和当日黑名单中。0022本发明所要解决的技术问题是,针对现有技术由于部分用户恶意的大流量攻击网站,导致网站流量激增,服务器处理能力下降,引起的普通用户无法正常使用的不足,提供一种对网站流量进行合理的控制,增加网站的安全性的基于IP访问的动态控制用户行为的系统。0023本发。

14、明解决上述技术问题的技术方案如下一种基于IP访问的动态控制用户行为的系统,包括接收模块、提取模块、黑名单数据库、判断模块、访问次数统计模块和服务器;0024所述接收模块接收用户请求,记录发送请求的用户的访问日志和访问次数,并将所述访问日志和访问次数发送到提取模块中;0025所述提取模块提取用户的访问日志中的IP信息,将IP信息保存到IP统计文件中,并将所述IP统计文件发送到判断模块中;0026所述黑名单数据库用于存储非法用户的IP信息;0027所述判断模块将接收到的IP统计文件中的IP信息与黑名单数据库中的IP信息进行对比,将IP信息匹配的用户判断为非法用户,将IP信息不匹配的IP统计文件发送。

15、到访问次数统计模块;0028所述访问次数统计模块每间隔一定时间,统计当前用户的IP统计文件中用户的访问次数;如果所述访问次数大于预设值,判断当前用户为非法用户;如果访问次数不大于预设值,将当前用户的请求发送到服务器;0029所述服务器响应当前用户请求,根据当前用户请求返回相应的信息。0030本发明的有益效果是本发明对网站流量进行自动监控和屏蔽,避免恶意大流量攻击,增加网站安全性;基于IP访问的动态控制用户行为,主要是通过配置IP监控脚本进而实现网站流量自动监视和控制,实现对网站大流量攻击的控制技术;基于开源NGINX服务器的用户访问日志,进行访问IP信息统计,为监控脚本提供元数据,对于大流量的。

16、用户进行限制。0031在上述技术方案的基础上,本发明还可以做如下改进。0032进一步,所述黑名单数据库包括定时段黑名单和当日黑名单,所述定时段黑名单说明书CN104065657A3/7页6在设定时间段内有效,每间隔设定时间自动清空其中保存的所有IP信息,对新的非法用户的IP信息进行重新统计,整理为新的定时段黑名单;所述当日黑名单当日有效,每日自动清空其中保存的IP信息,对新的非法用户的IP信息进行重新统计,整理为新的当日黑名单。0033进一步,所述判断模块首先将当前用户的IP信息与定时段黑名单中的IP信息进行逐一对比,再将将当前用户的IP信息与当日黑名单中的IP信息进行逐一对比,如果有一个匹配。

17、,判断当前用户为非法用户;0034当前用户的IP信息即不与定时段黑名单中的IP信息匹配,又不与当日黑名单中的IP匹配时,所述判断模块将当前用户的IP统计文件发送到访问次数统计模块。0035进一步,所述判断模块判断当前用户为非法用户时,将非法用户的IP信息同时存入当前定时段黑名单和当日黑名单中。附图说明0036图1为本发明所述的一种基于IP访问的动态控制用户行为的方法流程图;0037图2为本发明所述的一种基于IP访问的动态控制用户行为的系统结构框图;0038图3为本发明为本发明所述的一种基于IP访问的动态控制用户行为的方法用户访问流程图。0039附图中,各标号所代表的部件列表如下00401、接收。

18、模块,2、提取模块,3、黑名单数据库,4、判断模块,5、访问次数统计模块,6、服务器。具体实施方式0041以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。0042如图1所示,为本发明所述的一种基于IP访问的动态控制用户行为的方法,具体包括以下步骤0043步骤1接收用户请求,记录发送请求的用户的访问日志和访问次数;0044步骤2提取用户的访问日志中的IP信息,将IP信息保存到IP统计文件中;0045步骤3判断当前是否存在黑名单数据库,如果有,执行步骤4;否则,建立黑名单数据库,执行步骤5;0046步骤4将当前用户的IP信息与黑名单数据库中的IP信息进。

19、行逐一对比,如果匹配,判断当前用户为非法用户,执行步骤7;否则,执行步骤5;0047步骤5每间隔一定时间,统计当前用户的IP统计文件中用户的访问次数;0048步骤6判断所述访问次数是否大于预设值,如果是,判断当前用户为非法用户,执行步骤7;否则,判断当前用户为合法用户,执行步骤8;0049步骤7将非法用户的IP信息存入黑名单数据库中,结束;0050步骤8响应当前用户请求,根据当前用户请求返回相应的信息。0051所述黑名单数据库包括定时段黑名单和当日黑名单,所述定时段黑名单在设定时间段内有效,每间隔设定时间自动清空其中保存的所有IP信息,对新的非法用户的IP信息说明书CN104065657A4/。

20、7页7进行重新统计,整理为新的定时段黑名单;所述当日黑名单当日有效,每日自动清空其中保存的IP信息,对新的非法用户的IP信息进行重新统计,整理为新的当日黑名单。0052所述步骤4具体包括以下步骤0053步骤41将当前用户的IP信息与定时段黑名单中的IP信息进行逐一对比,如果匹配,判断当前用户为非法用户,执行步骤7;否则,执行步骤42;0054步骤42将当前用户的IP信息与当日黑名单中的IP信息进行逐一对比,如果匹配,判断当前用户为非法用户,执行步骤7;否则,执行步骤5。0055所述步骤7中将非法用户的IP信息同时存入当前定时段黑名单和当日黑名单中。0056如图2所示,为本发明所述的一种基于IP。

21、访问的动态控制用户行为的系统,包括接收模块1、提取模块2、黑名单数据库3、判断模块4、访问次数统计模块5和服务器6;0057所述接收模块1接收用户请求,记录发送请求的用户的访问日志和访问次数,并将所述访问日志和访问次数发送到提取模块2中;0058所述提取模块2提取用户的访问日志中的IP信息,将IP信息保存到IP统计文件中,并将所述IP统计文件发送到判断模块4中;0059所述黑名单数据库3用于存储非法用户的IP信息;0060所述判断模块4将接收到的IP统计文件中的IP信息与黑名单数据库3中的IP信息进行对比,将IP信息匹配的用户判断为非法用户,将IP信息不匹配的IP统计文件发送到访问次数统计模块。

22、5;0061所述访问次数统计模块5每间隔一定时间,统计当前用户的IP统计文件中用户的访问次数;如果所述访问次数大于预设值,判断当前用户为非法用户;如果访问次数不大于预设值,将当前用户的请求发送到服务器6;0062所述服务器6响应当前用户请求,根据当前用户请求返回相应的信息。0063所述黑名单数据库3包括定时段黑名单和当日黑名单,所述定时段黑名单在设定时间段内有效,每间隔设定时间自动清空其中保存的所有IP信息,对新的非法用户的IP信息进行重新统计,整理为新的定时段黑名单;所述当日黑名单当日有效,每日自动清空其中保存的IP信息,对新的非法用户的IP信息进行重新统计,整理为新的当日黑名单。0064所。

23、述判断模块4首先将当前用户的IP信息与定时段黑名单中的IP信息进行逐一对比,再将将当前用户的IP信息与当日黑名单中的IP信息进行逐一对比,如果有一个匹配,判断当前用户为非法用户;0065当前用户的IP信息即不与定时段黑名单中的IP信息匹配,又不与当日黑名单中的IP匹配时,所述判断模块4将当前用户的IP统计文件发送到访问次数统计模块5。0066所述判断模块4判断当前用户为非法用户时,将非法用户的IP信息同时存入当前定时段黑名单和当日黑名单中。0067基于IP访问的动态控制用户行为,主要是通过配置IP监控脚本进而实现网站流量自动监视和控制,实现对网站大流量攻击的控制技术。具体实现方式利用SHELL。

24、脚本SHELL既是一种命令语言,又是一种程序设计语言即,脚本,类似WINDOWS的BAT作用就是遵循一定语法将输入的命令传递加以解释并传递给系统,基于开源NGINX前端WEB服务器,一个高性能的HTTP和反向代理服务器,具有简单的负载均衡和容错功能服务器的用户访问日志,进行访问IP信息统计,为监控脚本提供元数据,对于大流量的用户进行限制。说明书CN104065657A5/7页80068非法用户的定义正常的用户从访问开始到完成业务操作,都需要有一定的时间消耗,操作的频率上也有一定的间隔;例如对于3分钟时间根据具体系统情况而设定内,用户的访问量大于200访问量根据系统情况而设定的情况,系统视该用户。

25、非法操作,对其行为进行屏蔽;其他的操作情况视为合法访问用户。0069IP监控流程说明0070NGINX服务器接收到用户的请求后,根据红、黑名单的配置情况,进行过滤。如果存在红名单或不存在黑名单中,用户请求就会被代理到应用服务器中进行处理;如果不存在红名单,存在黑名单中,用户请求就会被NGINX服务器直接返回,给用户一个友好的提示页面。00711通过IPCOUNTSH脚本定时将用户的访问日志中IP信息分离至IP统计文件中;00722根据IP统计文件,通过IPMINSH脚本定时统计每5分钟内用户当前的访问量,并将非法用户的IP信息写至BLOCKIP_HOURCONF每小时的黑名单文件中;该黑名单的。

26、有效期为1小时,起到事中控制的作用,有效期过后,由IPBLOCKSH脚本自动清空黑名单;00733根据IP统计文件,通过IPBLOCKSH脚本定时统计截至当前,当天的每个用户的访问量,并将非法用户的IP信息写至BLOCKIPCONF当天的黑名单文件中;该脚本每小时执行一次,起到事后处理的作用,该黑名单有效期为1天,有效期过后,重新统计;00744将黑名单、红名单文件加载至NGINX服务器的配置文件中;00755定时执行NGRELOADSH脚本,功能定时的重启NGINX服务器,使黑名单、红名单配置生效,自动屏蔽非法用户。0076SHELL脚本详细解释00771IPCOUNTSH这个文件主要用于分。

27、离NGINX的LOG访问日志信息,每小时产生一个用户的IP统计文件。0078/BIN/SH0079HOME/PROLE0080CP/ECHNWEB/NGINX/LOGS/ACCESSLOG/ECHNWEB/NGINX/LOGS/BAK/ACCESSDATEYMDH0081/ECHNWEB/NGINX/LOGS/ACCESSLOG0082CD/ECHNWEB/NGINX/LOGS/BAK0083AWKPRINT1ACCESSDATEYMDH|MOREIPDATEYMDH0084GZIP9ACCESSDATEYMDH00852IPBLOCKSH将当天用户访问在8000次的IP信息,写入每天IP黑名。

28、单文件中,进行屏蔽。0086/BIN/SH0087EXPORTIPLOG_PATH/ECHNWEB/NGINX/LOGS/BAK0088EXPORTIPHOST_PATH/ECHNWEB/NGINX/CONF/VHOSTS0089CATIPLOG_PATH/IPDATEYMD|SORT|UNIQC|SORTNR|HEADN10|AWK18000PRINT“DENY“2“;“IPHOST_PATH/TMP/BLOCKIPCONFDATEYMDH说明书CN104065657A6/7页90090CATIPHOST_PATH/TMP/BLOCKIPCONF2011|SORTUIPHOST_PATH/B。

29、LOCKIPCONF0091ECHODATEYMDHM00923IPMINSH统计最近访问10000的记录当中,如果有超过200条属于同一IP地址,那么加入到每小时黑名单文件BLOCKIP_HOURCONF。0093/BIN/SH0094EXPORTIPHOST_PATH/ECHNWEB/NGINX/CONF/VHOSTS0095TAIL10000/ECHNWEB/NGINX/LOGS/ACCESSLOG|AWKPRINT1|SORT|UNIQC|SORTNR|HEADN10|AWK12000PRINT“DENY“2“;“IPHOST_PATH/BLOCKIP_HOURCONF0096ECHO。

30、DATEYMDHM00974NGRELOADSH服务器NGINX配置文件自动生效脚本。0098/BIN/SH0099HOME/PROLE0100CD/ECHNWEB/NGINX/SBIN0101NGINXSRELOAD0102ECHO“OPENSHENDAT“DATEYMDHMSD01035NGINX服务器配置文件红色部分为增加部分,必须按照以下顺序,即红名单配置文件放在前面,黑名单在后。01040105脚本启动方式0106在服务器中启动定时任务010759/ECHNWEB/SHELL/IPMONI/IPCOUNTSH/ECHNWEB/SHELL/IPMONI/IPCOUNTLOG说明书CN1。

31、04065657A7/7页1001083/ECHNWEB/SHELL/IPMONI/IPBLOCKSH/ECHNWEB/SHELL/IPMONI/IPBLOCKLOG01090,5,10,15,20,25,30,35,40,45,50,55/ECHNWEB/SHELL/IPMONI/IPMINSH/ECHNWEB/SHELL/IPMONI/IPMINLOG01102,7,12,17,22,27,32,37,42,47,52,57/ECHNWEB/SHELL/IPMONI/NGRELOADSH/ECHNWEB/SHELL/IPMONI/NGRELOADLOG0111以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。说明书CN104065657A101/2页11图1说明书附图CN104065657A112/2页12图2图3说明书附图CN104065657A12。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1