-
'functionCheckip (cinput_ip, cbound_ip)
'CreatedByqqDao, [email protected]/11/28
'หมายเหตุ: ก่อนอื่นคุณต้องวนรอบตาม; จำนวนจากนั้นตรวจสอบว่ามี "-" หากมีให้ทำการประมวลผลแบบแยกหรือไม่และในที่สุดก็พิจารณาว่าอยู่ในช่วง
'พารามิเตอร์: cinput_ip, ip สำหรับการตรวจสอบพร็อกซี
'cbound_ip รูปแบบช่วงที่กำหนดคือ IP เดี่ยวและช่วง IP ช่วง IP จะถูกใช้ครั้งสุดท้ายหากเป็น "*" จะต้องวางไว้ในหลักสุดท้าย
'เพิ่ม ": อนุญาต" หลังจากแต่ละช่วงหมายความว่าอนุญาตให้เข้าสู่ระบบและเพิ่ม ": ปฏิเสธ" หมายความว่าปฏิเสธการเข้าสู่ระบบ ใช้หลายช่วงเพื่อแยก
'ตัวอย่างเช่น 192.168.1*.*: อนุญาต; 192.168.1.1:lall; 192.168.1.1-10: ปฏิเสธ "
'ค่าส่งคืน: จริง/เท็จ
'อัปเดต: 2001/12/05 รองรับอนุญาต, ปฏิเสธการสนับสนุน'*', ไม่ต้องการถูก? รองรับเพราะมันเกือบจะเหมือนกับ *
-
FunctionCheckip (cinput_ip, cbound_ip)
dimcsingle_ip, ctemp_ip, cstart_ip, cend_ip
CETURCIP = FALSE
csingle_ip = split (cbound_ip, ";")
fori = 0toubound (csingle_ip)
ifinstr (csingle_ip (i), "ปฏิเสธ") <> 0 แล้ว "เพียงแค่ปฏิเสธ
CTEMP_IP = ซ้าย (CSINGLE_IP (I), Instr (CSINGLE_IP (i), ":")-1)
ifinstr (ctemp_ip, "*") <> 0 แล้ว "เป็นช่วงกว้าง
cstart_ip = ซ้าย (ctemp_ip, instr (ctemp_ip, "*")-1)
ifleft (cinput_ip, len (cstart_ip)) = cstart_ipthen
CETURCIP = FALSE
exitfunction
endif
endif
ifinstr (ctemp_ip, "-") = 0 แล้ว
cstart_ip = ctemp_ip
cend_ip = ctemp_ip
อื่น
CSTART_IP = ซ้าย (CTEMP_IP, INSTR (CTEMP_IP, "-")-1)
cend_ip = ซ้าย (cstart_ip, instrrev (cstart_ip, ".")-1)+"."+mid (ctemp_ip, instres (ctemp_ip, "-")+1)
endif
ifip2str (cinput_ip)> = ip2str (cstart_ip) Andip2str (cinput_ip) <= ip2str (cend_ip)
CETURCIP = FALSE
exitfunction
endif
elseifinstr (csingle_ip (i), "อนุญาต") <> 0 แล้ว "อนุญาต
CTEMP_IP = ซ้าย (CSINGLE_IP (I), Instr (CSINGLE_IP (i), ":")-1)
ifinstr (ctemp_ip, "*") <> 0 แล้ว "เป็นช่วงกว้าง
cstart_ip = ซ้าย (ctemp_ip, instr (ctemp_ip, "*")-1)
ifleft (cinput_ip, len (cstart_ip)) = cstart_ipthen
CHECT = TRUE
endif
endif
ifinstr (ctemp_ip, "-") = 0 แล้ว
cstart_ip = ctemp_ip
cend_ip = ctemp_ip
อื่น
CSTART_IP = ซ้าย (CTEMP_IP, INSTR (CTEMP_IP, "-")-1)
cend_ip = ซ้าย (cstart_ip, instrrev (cstart_ip, ".")-1)+"."+mid (ctemp_ip, instres (ctemp_ip, "-")+1)
endif
ifip2str (cinput_ip)> = ip2str (cstart_ip) Andip2str (cinput_ip) <= ip2str (cend_ip)
CHECT = TRUE
อื่น
CETURCIP = FALSE
endif
endif
ต่อไป
endfunction
-