IP 제한 함수
좋은 제안과 알고리즘이 있으시면 저에게 연락하십시오! ! :)
“*******************************************************
"functioncheckip (cinput_ip, cbound_ip)
“CreateByqqdao, [email protected]/11/28
"참고 : 먼저, 숫자에 따라 순환해야합니다. 그런 다음"포함되는지 "-"가있는 경우 분할 처리를 수행하고 마지막으로 범위 내에 있는지 확인하십시오.
"매개 변수 : cinput_ip, 생성 검사를위한 IP
"cbound_ip, 주어진 범위 형식은 단일 IP 및 범위 IP, 범위 IP가 마지막으로 사용됩니다."-"세그먼트"*"인 경우 마지막 숫자에 배치해야합니다.
"Add": 허용 "각 범위가 허용되면 로그인이 허용되고 추가 된 후": refuse "는 로그인이 거부되었음을 의미합니다. 여러 범위가 사용됩니다."; "
"예를 들어, 192.168.1*.*: 허용; 192.168.1.1 : allowl; 192.168.1.1-10 : 거부"
"반환 값 : true/false
"업데이트 : 2001/12/05 지원 허용, 거부 지원 ' *', 옳지 않기를 원하지 않습니까?
“*******************************************************
functioncheckip (cinput_ip, cbound_ip)
Dimcsingle_ip, ctemp_ip, cstart_ip, cend_ip
checkip = false
csingle_ip = split (cbound_ip, ";")
fori = 0toubound (csingle_ip)
ifinstr (csingle_ip (i), "거부") <> 0then "그냥 거부합니다
ctemp_ip = left (csingle_ip (i), inst (csingle_ip (i), ":") -1)
ifinstr (ctemp_ip, "*") <> 0then "은 넓은 범위입니다
cstart_ip = 왼쪽 (ctemp_ip, instr (ctemp_ip, "*") -1)
ifleft (cinput_ip, len (cstart_ip)) = cstart_ipthen
checkip = false
종료 기능
endif
endif
ifinstr (ctemp_ip, "-") = 0then
cstart_ip = ctemp_ip
cend_ip = ctemp_ip
또 다른
cstart_ip = left (ctemp_ip, instr (ctemp_ip, "-") -1)
cend_ip = left (cstart_ip, instrrev (cstart_ip, ".") -1)+"."+mid (ctemp_ip, instr (ctemp_ip, "-")+1)
endif
ifip2str (cinput_ip)> = ip2str (cstart_ip) andip2str (cinput_ip) <= ip2str (cend_ip)
checkip = false
종료 기능
endif
elseifinstr (csingle_ip (i), "allow") <> 0then "허용
ctemp_ip = left (csingle_ip (i), inst (csingle_ip (i), ":") -1)
ifinstr (ctemp_ip, "*") <> 0then "은 넓은 범위입니다
cstart_ip = 왼쪽 (ctemp_ip, instr (ctemp_ip, "*") -1)
ifleft (cinput_ip, len (cstart_ip)) = cstart_ipthen
checkip = true
endif
endif
ifinstr (ctemp_ip, "-") = 0then
cstart_ip = ctemp_ip
cend_ip = ctemp_ip
또 다른
cstart_ip = left (ctemp_ip, instr (ctemp_ip, "-") -1)
cend_ip = left (cstart_ip, instrrev (cstart_ip, ".") -1)+"."+mid (ctemp_ip, instr (ctemp_ip, "-")+1)
endif
ifip2str (cinput_ip)> = ip2str (cstart_ip) andip2str (cinput_ip) <= ip2str (cend_ip)
checkip = true