本文共 1493 字,大约阅读时间需要 4 分钟。
一、功能说明
有时候项目需要通过ip地址来判定是否允许访问,通常通过一个白名单地址文件来存放这些允许放行的ip,但每次打开文件编辑比较麻烦,容易出错,也不知道是否添加过,故用python写了一个自动添加白名单的脚本。
二、脚本内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #!/usr/bin/env python #coding:utf-8 #2017-06-09 ver:1.0 import sys white_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 afdafda ip[长度]不合法.程序退出! $ ./add_white.py a.a.a.a ip[不是数字]不合法.程序退出! $ ./add_white.py 192.1.1 ip[长度]不合法.程序退出! $ ./add_white.py 192.168.1.2 The add ip ['192.168.1.2'] add in white list OK~ ]$ ./add_white.py 192.168.1.2 The add ip ['192.168.1.2'] is in white list. 写的比较简单,有不当之处欢迎指正交流~