亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

用asp判斷某IP是否屬于某網段的另類算法

2019-11-18 17:04:24
字體:
來源:轉載
供稿:網友

有時候我們需要判斷某一個ip地址是否屬于一個網段,以決定該用戶能否訪問系統.
比如用戶登錄的IP是218.6.7.7,而我們的程序必須判斷他是否屬于218.6.0.0/16這個網段(其中/16是新的子網掩碼的表示方式,相當于255.255.0.0).
要實現這樣的功能,現在流行的算法是將218.6.0.0和218.6.7.7按256進制換算成10進制并進行比較得出,如先計算出218.6.0.0和218.6.255.255的十進制:218×256×256×256+6×256×256=3657826304,218×256×256×256+6×256×256+255×256×256+255=3657891839。再計算出218.6.7.7的十進:218×256×256×256+6×256×256+7×256+7=3657828103,最后再比較3657828103是否大于等于3657826304和小于等于3657891839。但明顯有一個問題,計算量非常多,值非常大,如果IP地址是61開頭的還好,如果是218開頭的,這將會造成數據溢出而出錯。
其實比較IP是否屬于某一網段,最好的方式就是將IP與網段分別轉為32位二進制,再比較他們的網絡部分是否相同就可以了.asp本身不具備位運行功能,所以要實現這個只有我們手工實現,具體如下:
'將十進制轉為二進制字符串
function dec2bin(octNumber)
vara=octNumber
do
dec2bin=cstr(vara mod 2) & dec2bin
vara=vara / 2
loop until vara=0
end function

'將二進制字符串填充為8位
function pad(str)
pad=right("00000000" & str,8)
end function

'判斷是否是一個IP地址
function isIp(ipadd)
isIp=false
set oReg=new RegExp
oReg.IgnoreCase=true
oReg.global=true
oReg.Pattern="(/d{1,4}/./d{1,4}/./d{1,4}/./d{1,4})|(/d{1,4}/./d{1,4}/./d{1,4}/./d{1,4}///d{1,2})"
if oReg.test(ipadd) then isIp=true
set oReg=nothing
end function

'其中UserIP是我們要檢測的IP
'NetIP是要檢測的網段或某個IP,用xxx.xxx.xxx.xxx/N來表示網段,其中N表示子網掩碼位數
'注,該程序是環球萬維原創程序,所以如果您要轉載,請保留出處信息,謝謝.
'程序設計:環球萬維,專業提供域名注冊,虛擬主機服務
'網址:http://www.netInter.cn
'以上信息與文章正文是不可分割的一部分,所以如果您要轉載本文章,您必須保留以上信息.

Function check_ip(UserIp,NetIP)
currentip=UserIp
collection_ips=split(iplist,",") '將網絡按點分割成4段
check_ip=false '初始函數值,false假設IP不在這網段
NetIP=trim(NetIP)
slashPos=inStr(NetIP,"/")
if slashPos=0 then '網段沒含有/符號,他只是一個IP,所以比較比個字符串是否相同就可以了
if NetIP=currentip then
check_ip=true 'check_ip=true表示IP相等
exit function
end if
else
netRang=mid(NetIP,slashPos+1) '得到/后邊的數字
if not isNumeric(netRang) then '/后邊不是數字,格式不正確
exit function
end if
netRang=cint(netRang) '將字符轉為數字
if netRang>31 then
exit function '/后的數字不能超過32位
end if
ipsets=split(currentip,".") '將用戶IP按點分成四段

C_IP_BIN=pad(dec2bin(ipsets(0))) & pad(dec2bin(ipsets(1))) & pad(dec2bin(ipsets(2))) & pad(dec2bin(ipsets(3)))
'上邊這行是將用戶IP地址手工轉換為對應的一個32個字符長的二進制
ipsets=split(NetIP,".") '按上邊的過程將網段IP同樣轉為32個字符長的二進制
sPos=instr(ipsets(3),"/") '最后一點格式應該是 數字/數字
if sPos=0 then
exit function
end if
ipsets(3)=left(ipsets(3),sPos-1) '得到最后一段/前邊的數字
S_IP_BIN=pad(dec2bin(ipsets(0))) & pad(dec2bin(ipsets(1))) & pad(dec2bin(ipsets(2))) & pad(dec2bin(ipsets(3)))
'將其轉換為32個字符長的二進制
if left(C_IP_BIN,netRang) = left(S_IP_BIN,netRang) then '比較網段絡是否相同就可以判斷用戶IP否屬于某個網段了
check_ip=true
end if
end if
end function

應用舉例:

要判斷61.139.1.1是否在61.139.0.0/16 (255.255.0.0)這個網段
只需要簡單的使用這個函數就可以了,如:

if check_ip("61.139.1.1","61.139.0.0/16") then
Response.write "同一網段"
else
Response.write "不是同一網段"
end if


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产日本欧美一区二区三区在线| 欧美激情伊人电影| 国产精品久久久久av| 色噜噜久久综合伊人一本| 日韩欧美亚洲一二三区| 中文字幕综合在线| 国产精品视频1区| 欧美激情影音先锋| 成人日韩在线电影| 国产免费观看久久黄| 国产91免费看片| 在线电影欧美日韩一区二区私密| 亚洲精品v天堂中文字幕| 成人av资源在线播放| 黄色成人av在线| 黑人狂躁日本妞一区二区三区| 久久久免费观看| 欧美日韩成人网| 亚洲美女激情视频| 欧美成人免费视频| 精品中文字幕久久久久久| 国产精品免费福利| 国产精品爱啪在线线免费观看| 亚洲天堂网在线观看| 午夜精品久久久99热福利| 欧美一区二区三区……| 日韩av手机在线看| 日韩久久午夜影院| 欧美肥婆姓交大片| 欧美成人合集magnet| 日韩成人在线视频| 日韩电影免费在线观看| 日韩av色在线| 亚洲综合最新在线| 中文字幕在线亚洲| 国产亚洲欧美日韩精品| 国产精品中文字幕在线观看| 精品亚洲一区二区| 欧美精品videossex88| 欧美久久精品午夜青青大伊人| 国产精品夫妻激情| 欧美日韩国产专区| 欧美色videos| 亚洲性线免费观看视频成熟| 亚洲视频999| 欧美日韩国产精品| 色哟哟亚洲精品一区二区| 欧美精品一区二区三区国产精品| 欧美日韩中文字幕在线| 91禁外国网站| 亚洲免费高清视频| 疯狂做受xxxx高潮欧美日本| 日本中文字幕成人| 粗暴蹂躏中文一区二区三区| 亚洲人成电影网站色…| 欧美日韩国产丝袜另类| 亚洲人成电影网| 欧美成年人视频网站欧美| 亚洲人午夜精品| 狠狠躁天天躁日日躁欧美| 国产精品揄拍一区二区| 国产成人精品一区二区在线| 自拍亚洲一区欧美另类| 国产精品日日做人人爱| 在线日韩中文字幕| 777国产偷窥盗摄精品视频| 欧美肥老妇视频| 亚洲一区二区三区成人在线视频精品| 精品中文字幕视频| 欧美性视频精品| 久久久中精品2020中文| 美日韩精品免费视频| 亚洲成人免费网站| 91啪国产在线| 色综合伊人色综合网站| 麻豆国产va免费精品高清在线| 久久精品色欧美aⅴ一区二区| 国产精品丝袜一区二区三区| 亚洲国产精品福利| 亚洲国产成人精品久久| 91色精品视频在线| 国产欧美最新羞羞视频在线观看| 欧美最猛性xxxxx亚洲精品| 国产亚洲欧美一区| 日韩在线欧美在线国产在线| xvideos国产精品| 欧美激情伊人电影| 国产一区二区日韩精品欧美精品| 青草青草久热精品视频在线网站| 亚洲激情在线观看| 美女扒开尿口让男人操亚洲视频网站| 欧美日韩xxx| 亚洲人成伊人成综合网久久久| 欧美性高潮床叫视频| 丝袜亚洲另类欧美重口| 一区二区成人av| 一区二区三区四区在线观看视频| 国产人妖伪娘一区91| 日本中文字幕久久看| 亚洲自拍高清视频网站| 久久久噜噜噜久久| 草民午夜欧美限制a级福利片| 日韩激情在线视频| 精品国产一区二区三区久久| 国产中文字幕亚洲| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美色道久久88综合亚洲精品| 欧美一级淫片播放口| 欧美激情一区二区三区成人| 国产中文欧美精品| 91亚洲精品在线观看| 怡红院精品视频| 亚洲精品电影网站| 中文字幕日韩精品有码视频| 尤物yw午夜国产精品视频明星| 日本免费一区二区三区视频观看| 国产免费一区视频观看免费| 精品福利在线视频| 亚洲精品wwwww| 欧美午夜美女看片| 国产精品福利观看| 91精品国产亚洲| 97超碰国产精品女人人人爽| 国产亚洲欧洲在线| www国产精品com| 欧美有码在线观看视频| 国产精品88a∨| 欧美美女15p| 国产成人avxxxxx在线看| 欧美一区亚洲一区| 亚洲网站在线播放| 成人网址在线观看| 亚洲区一区二区| 亚洲xxxx做受欧美| 国产美女精品视频免费观看| 亚洲已满18点击进入在线看片| 日本久久久久久久| 日韩欧美一区视频| 91麻豆桃色免费看| 成人性教育视频在线观看| 欧美中文字幕在线视频| 日韩欧美极品在线观看| 欧美与黑人午夜性猛交久久久| 亚洲第一精品夜夜躁人人爽| 一区二区亚洲精品国产| 亚洲女性裸体视频| 亚洲第一免费播放区| 国产97在线视频| 国产精品久久二区| 亚洲天堂成人在线| 青青草原成人在线视频| 欧美福利在线观看| 欧美午夜精品久久久久久人妖| 欧美精品在线免费观看| 日韩欧美在线播放| 国产91精品在线播放| 国产午夜精品视频| 91九色视频导航| 九九热这里只有精品6| 日韩美女视频在线观看| 国产激情999| 色午夜这里只有精品| 2019中文字幕全在线观看| 精品国产鲁一鲁一区二区张丽|