合法IP地址的判断

cndeath 2008-04-09 02:00:36
如IP段
10.22.130.1-10.22.130.255
10.22.125.0-10.22.125.255

只有公网IP在上面两个IP段中的IP才可以访问页面.

<%
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")
'获得公网IP后.下面应该来写代码?help!
%>
...全文
309 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lsf5921 2008-04-09
(?i:http|https)://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
正则
回复
fq7870 2008-04-09
正则表达式((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
回复
文盲老顾 2008-04-09
10.22.130.1-10.22.130.255
10.22.125.0-10.22.125.255

<%
dim IPList(1,1)
IPList(0,0) = "10.22.130.1"
IPList(0,1) = "10.22.130.255"
IPList(1,0) = "10.22.125.0"
IPList(1,1) = "10.22.125.255"

dim IPFlag
IPFlag = false

for i = 0 to ubound(IPList)
if IP2N(yourIP) >= IP2N(IPList(i,0)) and IP2N(yourIP) <= IP2N(IPList(i,1)) then
IPFlag = true
exit for
end if
next

if not IPFlag then
response.write "IP被禁止"
response.end
end if

Function IP2N(vStr)
Dim IP,intLoop
IP2N = 0
IP = Split(vStr,".")
For intLoop = 0 To UBound(IP)
IP2N = 256 ^ (UBound(IP) - intLoop) * CInt(IP(intLoop)) + IP2N
Next
End Function
%>
回复
小逗狗 2008-04-09
<%
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")
'获得公网IP后.下面应该来写代码?help!
end if
ips=split(userip,".")
if cint(ips[0])<>10 or cint(ips[1])<>22 or (cint(ips[2])<>130 and cint(ips[3])<>125) then
response.write("非法的IP")
response.end
end if

%>
回复
littlelam 2008-04-09

dim userip:userip=Request.ServerVariables("REMOTE_ADDR")
dim arrIp:arrIp=Split(userip,".")
If Cint(arrIp(0))<>10 or Cint(arrIp(1))<>22 or (Cint(arrIp(2))<>130 and Cint(arrIp(2))<>125) Then
Response.Write("Forbidden")
Response.End
end
回复
littlelam 2008-04-09

dim userip:userip=Request.ServerVariables("REMOTE_ADDR")
dim arrIp:arrIp=Split(userip,".")
If Cint(arrIp(0))<>10 or Cint(arrIp(1))<>22 or (Cint(arrIp(2))<>130 and Cint(arrIp(3))<>125) Then
Response.Write("Forbidden")
Response.End
end
回复
相关推荐
综教楼后的那个坑用双向链表实现 描述   在 LIT 综教楼后有一个深坑,关于这个坑的来历,有很多种不同的说法。其中一种说法是,在很多年以前,这个坑就已经在那里了。这种说法也被大多数人认可,这是因为该坑有一种特别的结构,想要人工建造是有相当困难的。   从横截面图来看,坑底成阶梯状,由从左至右的 1..N 个的平面构成(其中 1 ≤ N ≤ 100,000),如图:    *            * :    *            * :    *            * 8    *    **      * 7    *    **      * 6    *    **      * 5    *    ********* 4 <- 高度    *    ********* 3    ************** 2    ************** 1 平面 |  1  |2|   3    | 每个平面 i 可以用两个数字来描述,即它的宽度 Wi 和高度 Hi,其中 1 ≤ Wi ≤ 1,000、1 ≤ Hi ≤ 1,000,000,而这个坑最特别的地方在于坑底每个平面的高度都是不同的。每到夏天,雨水会把坑填满,而在其它的季节,则需要通过人工灌水的方式把坑填满。灌水点设在坑底位置最低的那个平面,每分钟灌水量为一个单位(即高度和宽度均为 1)。随着水位的增长,水自然会向其它平面扩散,当水将某平面覆盖且水高达到一个单位时,就认为该平面被水覆盖了。   请你计算每个平面被水覆盖的时间。    灌水 水满后自动扩散 | | * | * * | * * * * V * * V * * * * * * .... * *~~~~~~~~~~~~* * ** * *~~~~** : * *~~~~**~~~~~~* * ** * *~~~~** : * *~~~~**~~~~~~* * ** * *~~~~**~~~~~~* *~~~~**~~~~~~* * ********* *~~~~********* *~~~~********* *~~~~********* *~~~~********* *~~~~********* ************** ************** ************** ************** ************** **************    4 分钟后    26 分钟后        50 分钟后    平面 1 被水覆盖     平面 3 被水覆盖    平面 2 被水覆盖输入   输入的第一行是一个整数 N,表示平面的数量。从第二行开始的 N 行上分别有两个整数,分别表示平面的宽度和高度。 输出   输出每个平面被水覆盖的时间。
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2008-04-09 02:00
社区公告
暂无公告