IP转数字[asp代码]

<%
'IP转数字 数字转IP 的函数代码

'在一些 网站统计系统 或者ip查询系统里 经常看到 用一长串数字表示 ip地址 下面就给出 它的算法,可以用'于限制IP访问的情况 或者限制网段访问的情况。 比起用IP地址直接处理 这样转换成数字 显然方便了许多。

'IP转数字
Function enaddr(sip)
esip=cstr(sip)
str1=Left(sip,CInt(InStr(sip,".")-1))
sip=Mid(sip,cint(instr(sip,"."))+1)
str2=Left(sip,cint(instr(sip,"."))-1)
sip=mid(sip,cint(instr(sip,"."))+1)
str3=left(sip,cint(instr(sip,"."))-1)
str4=mid(sip,cint(instr(sip,"."))+1)
'enaddr=cint(str1)*256*256*256+cint(str2)*256*256+cint(str3)*256+cint(str4)-1
'hyz加的 不减1
enaddr=cint(str1)*256*256*256+cint(str2)*256*256+cint(str3)*256+cint(str4)
End Function

'数字转IP
Function deaddr(sip)
sip=sip+1
s1=int(sip/256/256/256)
s21=s1*256*256*256
s2=int((sip-s21)/256/256)
s31=s2*256*256+s21
s3=int((sip-s31)/256)
s4=sip-s3*256-s31
'hyz加的 最后一组减1
s4=s4-1

deaddr=cstr(s1)+"."+cstr(s2)+"."+cstr(s3)+"."+cstr(s4)

End Function

'221.210.248.42 → 3721590826
'127.0.0.1 → 2130706433
'222.32.136.69 3726673989

ip="221.210.248.42"
Response.Write ip
response.Write " → "
d1= enaddr(ip)
Response.Write   d1
response.Write "
"

e1=3726673989
Response.Write e1
response.Write " → "
ip2=deaddr(e1)
Response.Write ip2
response.Write "
"

%>


上一篇: 一个实用的图片按钮代码
下一篇: asp通用分页类
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 0 | 引用: 0 | 查看次数: 3333
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 300 字 | UBB代码 开启 | [img]标签 关闭