ASP网页编程之ASP中限定IP函数详解
ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;函数|详解******************************FunctionCheckIp(cInput_Ip,cBound_Ip)
Createdbyqqdao,qqdao@263.net2001/11/28
申明:起首必要依据;号轮回,然后判别是不是含有"-",假如有则举行拆分处置,最初判别是不是在局限内
参数:cInput_Ip,代反省的ip
cBound_Ip,给定的局限格局为,单个ip,和局限ip,局限ip最初利用”-“支解,假如是“*”则必需放到最初一名
每一个局限后增加":ALLOW"暗示同意上岸,增加":REFUSE"暗示回绝上岸。多个局限用”;“离隔
比方192.168.1*.*:ALLOW;192.168.1.1:ALLOW;192.168.1.1-10:REFUSE"
前往值:true/false
更新:2001/12/05撑持ALLOW,REFUSE撑持’*‘,不想对?撑持,由于和*差未几
******************************
functionCheckIp(cInput_Ip,cBound_Ip)
dimcSingle_Ip,cTemp_IP,cStart_IP,cEnd_Ip
CheckIp=false
cSingle_Ip=split(cBound_Ip,";")
fori=0toubound(cSingle_Ip)
ifInstr(cSingle_Ip(i),"REFUSE")0then“就是回绝了
cTemp_IP=left(cSingle_Ip(i),instr(cSingle_Ip(i),":")-1)
ifInstr(cTemp_IP,"*")0then“是宽局限
cStart_IP=left(cTemp_IP,instr(cTemp_IP,"*")-1)
ifleft(cInput_Ip,len(cStart_IP))=cStart_IPthen
CheckIp=false
exitfunction
endif
endif
ifInstr(cTemp_IP,"-")=0then
cStart_IP=cTemp_IP
cEnd_Ip=cTemp_IP
else
cStart_IP=left(cTemp_IP,instr(cTemp_IP,"-")-1)
cEnd_Ip=left(cStart_IP,InStrRev(cStart_IP,".")-1)+"."+mid(cTemp_IP,instr(cTemp_IP,"-")+1)
endif
ifIp2Str(cInput_Ip)>=Ip2Str(cStart_IP)andIp2Str(cInput_Ip)<=Ip2Str(cEnd_Ip)then
CheckIp=false
exitfunction
endif
elseifInstr(cSingle_Ip(i),"ALLOW")0then“同意
cTemp_IP=left(cSingle_Ip(i),instr(cSingle_Ip(i),":")-1)
ifInstr(cTemp_IP,"*")0then“是宽局限
cStart_IP=left(cTemp_IP,instr(cTemp_IP,"*")-1)
ifleft(cInput_Ip,len(cStart_IP))=cStart_IPthen
CheckIp=true
endif
endif
ifInstr(cTemp_IP,"-")=0then
cStart_IP=cTemp_IP
cEnd_Ip=cTemp_IP
else
cStart_IP=left(cTemp_IP,instr(cTemp_IP,"-")-1)
cEnd_Ip=left(cStart_IP,InStrRev(cStart_IP,".")-1)+"."+mid(cTemp_IP,instr(cTemp_IP,"-")+1)
endif
ifIp2Str(cInput_Ip)>=Ip2Str(cStart_IP)andIp2Str(cInput_Ip)<=Ip2Str(cEnd_Ip)then
CheckIp=true
else
CheckIp=false
endif
endif
next
endfunction
******************************
FunctionIp2Str(cIp)
Createdbyqqdao,qqdao@263.net2001/11/28
参考动网ip算法
参数:cIpip地点
前往值:转换后数值
******************************
functionIp2Str(cIp)
Dimstr1,str2,str3,str4
DimcIp_Temp
ifcIp="127.0.0.1"thencIp="192.168.0.1"
str1=left(cIp,instr(cIp,".")-1)
cIp_Temp=mid(cIp,instr(cIp,".")+1)
str2=left(cIp_Temp,instr(cIp_Temp,".")-1)
cIp_Temp=mid(cIp_Temp,instr(cIp_Temp,".")+1)
str3=left(cIp_Temp,instr(cIp_Temp,".")-1)
str4=mid(cIp_Temp,instr(cIp_Temp,".")+1)
ifisNumeric(str1)=0orisNumeric(str2)=0orisNumeric(str3)=0orisNumeric(str4)=0then
else
Ip2Str=cint(str1)*256*256*256+cint(str2)*256*256+cint(str3)*256+cint(str4)-1
endif
endfunctionasp,你就只能等着微软给你解决,它不乐意你就只好悲催。而且asp跑在windows服务器上,windows服务器跟linux比起来简直弱爆了! 不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍 不能只是将它停留在纸上谈兵的程度上。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。 Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名") 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。 尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
页:
[1]