首页 编程教程正文

python统计tomcat访问量高的ip并写到配置文件封禁

piaodoo 编程教程 2020-02-22 22:09:22 1059 0 python教程

本文来源吾爱破解论坛

本帖最后由 zephyrss 于 2019-11-12 18:15 编辑

今天刚出炉的小脚本,眼下有这么个需求,在一台win2003服务器上跑了一个tomcat网站,经常被人爬,一时找不到好的解决方法,就在网上搜罗相关内容,最后凝聚成了这个python小脚本。
大致思路就是读取日志,截取统计ip,判断ip访问量大于一个数,然后给写到tomcat的配置文件里那条封禁ip的参数,最后重启tomcat。
然后写个计划任务和bat就搞定了
格式乱了。贴个图吧。


1.jpg (65.26 KB, 下载次数: 0)

下载附件  保存到相册

2019-11-12 18:15 上传




import osimport linecacheimport datetime
#2019-11-12 #zephyrss
dateTime_p = datetime.datetime.now()  
date_p = dateTime_p.date()
date_p = str(date_p)
def shutdown():
print("tomcat正在重启,请稍等...")
os.system("d:\i.bat")
print("关闭tomcat成功")#shutdown()
ips = []
fr = open('d:\\'+date_p+'.txt')
fr.seek(0)for line in fr:   
  ip = line.split()[0]    
ips.append(ip)
new_ips = set(ips)
for new_ip in new_ips:   
if ips.count(new_ip)>200:         
  var1=str(new_ip)         
  with open("d:\server.xml", 'r') as f:         
   lines = f.readlines()     
        lines.insert(28, '<Valve className=\"org.apache.catalina.valves.RemoteAddrValve\" deny=\"' + var1 + '\"/>\n')             #lines.insert(28, var1)      
      s = ''.join(lines).strip('\n')           
  with open("d:\server.xml", 'w') as f:         
   f.write(s)           
  shutdown()     
        print('程序结束')



image.png (70.41 KB, 下载次数: 0)

下载附件  保存到相册

2019-11-12 18:14 上传

image.png

版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/7719.html

搜索