การคำนวณการแบ่งส่วนที่อยู่ IP
<scriptLanguage = "jscript" runat = "เซิร์ฟเวอร์">
FunctionIpDecode (EIP) {
VARIP1, IP2, IP3, IP4;
IP1 = MoveByter (EIP & 0xff000000,3);
IP2 = MoveByter (EIP & 0x00ff0000,2);
IP3 = MoveByter (EIP & 0x0000ff00,1);
IP4 = EIP & 0x000000ff;
returnip1+"."+ip2+"."+ip3+"."+ip4;
-
FunctionMoveByTel (num, bytenum) {
returnNum << = (bytenum*8)
-
FunctionMoveByter (num, bytenum) {
returnNum >>> = (bytenum*8)
-
</script>
ไม่มีการดำเนินการบิตใน VBS ดังนั้นจึงไม่ดีที่จะใช้ JS และ VBS ในหน้า มันก็โอเคถ้าคุณใช้ VBS แต่มันก็เป็นคำอื่น ๆ และสิ่งหนึ่งที่สังเกตได้เล็กน้อย ถ้าคุณแยก ("202.102.29.6", ".") ใน VBS คุณจะได้รับสามหมายเลข 202, 102 และ 29 และคุณจะไม่ได้รับ 6 ครั้งสุดท้ายดังนั้นคุณต้องเปลี่ยน IP เป็นแยก ("202.102.29.6" & ",")
ฉันทำกับ VBS และเนื่องจากไม่มีการผ่าตัดมันจึงลำบากกว่า
-
FunctionIP2INT (IPSTR)
dimiptemp, สูงสุด
iptemp = split (ipstr & ".", ".")
max = ubund (iptemp)
ifmax <> 4 จากนั้น
exitfunction
endif
dima, b, i
a = "& h"
fori = 0to3
b = hex (iptemp (i))
iflen (b) = 1 จากนั้น
b = "0" & b
endif
a = a & b
ต่อไป
ip2int = clng (a)
endfunction
FunctionInt2IP (IP)
Dimiptemp, A, IPSTR, I, ความยาว
iptemp = hex (IP)
ความยาว = 8-len (iptemp)
fori = 1tolength
iptemp = "0" & iptemp
ต่อไป
A = ซ้าย (iptemp, 2)
a = "& h" & a
i = cint (a)
A = CSTR (i)
ipstr = a & "."
A = mid (iptemp, 3,2)
a = "& h" & a
i = cint (a)
A = CSTR (i)
IPSTR = iPSTR & A & "."
A = mid (iptemp, 5,2)
a = "& h" & a
i = cint (a)
A = CSTR (i)
IPSTR = iPSTR & A & "."
A = ขวา (iptemp, 2)
a = "& h" & a
i = cint (a)
A = CSTR (i)
iPSTR = IPSTR & A
int2ip = ipstr
endfunction
dimtestip, testint
testip = "202.102.29.6"
testint = ip2int (testip)
Response.writeTestip & "WillBeencodedTo <fontColor = Red>" & Testint & "</font> <br>"
Response.writeTestip & "WillbedencodedTo <fontColor = Red>" & int2ip (testint) & "</font> <br>"