一、功能说明
有时候项目需要通过ip地址来判定是否允许访问,通常通过一个白名单地址文件来存放这些允许放行的ip,但每次打开文件编辑比较麻烦,容易出错,也不知道是否添加过,故用python写了一个自动添加白名单的脚本。
二、脚本内容
#!/usr/bin/env python#coding:utf-8#2017-06-09 ver:1.0import syswhite_list="white_list.txt"add_ip=sys.argv[1].strip()checkIp=add_ip.split('.')if len(checkIp)!= 4: print("ip[长度]不合法.程序退出!") sys.exit(5)elif not checkIp[0].isdigit() or not checkIp[1].isdigit() or not checkIp[2].isdigit() or not checkIp[3].isdigit(): print("ip[不是数字]不合法.程序退出!") sys.exit(5)elif int(checkIp[0]) >= 254 or int(checkIp[1]) > 255 or int(checkIp[2]) >255 or int(checkIp[3]) >255: print("ip[数字范围]不合法.程序退出!") sys.exit(5)new_ip = str(add_ip + "\n")f=open(white_list,'r')IPS=f.readlines()if new_ip in IPS: print "The add ip %s is in white list." % new_ip.split()else: fw=open(white_list,'a+') fw.write(new_ip) print "The add ip %s add in white list OK~" % new_ip.split() fw.close()
三、执行结果
$ ./add_white.py 192.168.1.256
ip[数字范围]不合法.程序退出!$ ./add_white.py 256.0.0..ip[长度]不合法.程序退出!$ ./add_white.py afdafdaip[长度]不合法.程序退出!$ ./add_white.py a.a.a.aip[不是数字]不合法.程序退出!$ ./add_white.py 192.1.1ip[长度]不合法.程序退出!$ ./add_white.py 192.168.1.2The add ip ['192.168.1.2'] add in white list OK~]$ ./add_white.py 192.168.1.2The add ip ['192.168.1.2'] is in white list.写的比较简单,有不当之处欢迎指正交流~