当前位置:首页 > 瞎搞 > 正文内容

ASP禁止指定IP访问方法

admin14年前 (2012-02-01)瞎搞2475

最近给一公司做网络办公系统,企业OA对于安全要求,测试期间,用的是第三方网络,考虑到安全问题。做过数据库安全后

还是做个IP判断,加强下安全!数据库防下载绝对安全,不是指定的IP根本打不开网页,想想,隐患目前也只有服务器,和跨站了。

指定某些特定IP可以访问,代码如下:

<%
Dim IP,IPString,VisitIP
'设置允许访问的IP地址,用“|”隔开
IPString="|192.168.1.100|192.168.0.101|192.168.1.102|"
'获取IP地址
IP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If IP = "" Then
IP = Request.ServerVariables("REMOTE_ADDR")
End If
VisitIP="|"&IP&"|"
If instr(1,IPString,VisitIP)<0 Then
'符合禁止的IP执行相应的操作
Response.write "您所在的IP禁止访问"
response.end
End If
%>

上述代码中的IP为允许访问。

如果是指定IP禁止访问,修改下判断函数即可

<%
Dim IP,IPString,VisitIP
'设置IP地址,用“|”隔开
IPString="|192.168.0.42|192.168.0.41|192.168.1.111|192.168.1.101|"
'获取IP地址
IP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If IP = "" Then
IP = Request.ServerVariables("REMOTE_ADDR")
End If
VisitIP="|"&IP&"|"
If instr(1,IPString,VisitIP)>0 Then
'符合的IP执行相应的操作
Response.write "您所在的IP可以访问"
else
'不符合的IP执行相应的操作
Response.write "<script>alert('您所在的IP禁止访问');</script>"
response.end
End If
%>

以上代码复制粘贴另存为为:IP.asp

将以下添加到需要调用判断的动态页面中

<!-- #include file="IP.asp" -->

附:ASP怎么区分电信还是联通,做出判断,虽说对于使用cname的域名来说没必要,但是有学习价值,就添加上来了。

<!-- #include file="IP.asp" -->
<%
Class GotoURL
 Public url1,url2,CheckUrl,CheckValue,TagS,TagE
 Private Function Bologe_GetContent(Url)
  Dim Obj
  Set obj = Server.CreateObject("MSXML2.XMLHTTP")
  With Obj
   .Open "POST", Url, false
   .setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
   .Send CheckValue
  End With
rr=Obj.Readystate
tt=Obj.ResponseBody
response.write  rr
response.write  tt
  if Obj.Readystate <> 4 then
   Set obj = Nothing
   Bologe_GetContent = False
   Exit Function
  end if
  Bologe_GetContent = Bologe_ResSTS(Obj.ResponseBody)
response.write Bologe_GetContent
 Set obj = Nothing
 End Function
 Private Function Bologe_ResSTS(Str)
  Dim ADOStreamObj
  Set ADOStreamObj = Server.CreateObject("Adodb.Stream")
  ADOStreamObj.Type = 1
  ADOStreamObj.Mode = 3
  ADOStreamObj.Open
  ADOStreamObj.Write Str
  ADOStreamObj.Position = 0
  ADOStreamObj.Type = 2
  ADOStreamObj.Charset = "GB2312"
  Bologe_ResSTS = ADOStreamObj.ReadText
  ADOStreamObj.Close
  Set ADOStreamObj = Nothing
 End Function
 Private Function GetContent(Str,StartStr,LastStr,Flag)
  On Error Resume next
  if Instr(LCase(Str),LCase(StartStr)) > 0 then
   Dim regEx,SearchStr,Matches,Matche
   Str = Replace(Replace(Str,Chr(13),""),Chr(10),"")
   StartStr = Replace(StartStr,"[变量]",".*")
   LastStr = Replace(LastStr,"[变量]",".*")
   SearchStr = StartStr & ".*" & LastStr
   Set regEx = New RegExp
   regEx.IgnoreCase = True
   regEx.Global=True
   regEx.Pattern = SearchStr
   Set Matches = regEx.Execute(str)
   set Matche = Matches(0)
   Select Case Flag
    Case 0 '不包括首尾特征字符
     GetContent = Matche
     regEx.Pattern = StartStr
     GetContent = regEx.Replace(GetContent,"")
     regEx.Pattern = LastStr & ".*|\n"
     GetContent = regEx.Replace(GetContent,"")
    Case 1 '包括首尾特征字符
     GetContent = Matche
    Case 2 '取开始字符后面的所有内容
     GetContent = Matche
     regEx.Pattern = StartStr
     GetContent = regEx.Replace(GetContent,"")
    Case else
     GetContent = ""
   End Select
  else
   GetContent = ""
  end if
  if Err then
   Err.clear
   GetContent = ""
  End If
 End Function
 
 Public Function Run()
  r=Request.Cookies("BologeComFrom")
  if r="" or IsEmpty(r) then
   r=GetContent(Bologe_GetContent(CheckUrl),TagS,TagE,2)
   Response.Cookies("BologeComFrom")=r
  end if
  if instr(r,"电信")>0 then
   Response.Redirect url1
  else
   Response.Redirect url2
  end if
 End Function
end class
'-------开始调用了---------------------------------------------------------------------------------
set g = new GotoURL
g.CheckUrl   = "http://www.ip138.com/ips8.asp"                        '获取IP地址的坚持地址(一般不改)
g.CheckValue = "action=2&ip="&request.ServerVariables("REMOTE_ADDR")  '用于获取检测必须的(一般不改)
g.TagS   = "本站主数据"             '用于判断返回信息关键标签的开始部分(一般不改)
g.TagE   = "</li>"                                                '用于判断返回信息关键标签的结束部分(一般不改)
g.url1   = "http://cnshark.net"                                '电信用户跳转URL
g.url2   = "http://13246.com"                                '非电信用户跳转URL
g.Run
%>

扫描二维码推送至手机访问。

版权声明:本文由水墨优化网发布,如需转载请注明出处。

本文链接:https://www.ishnan.com/post/150.html

分享给朋友:

“ASP禁止指定IP访问方法” 的相关文章

关于迅雷彻底去除顶部广告!!

关于迅雷彻底去除顶部广告!!

 去除迅雷顶部广告打开迅雷的安装目录中Program文件夹:  1、找到gui.cfg文件,然后用记事本打开,把它的内容改为:[url]ADServer=LastModifyTime=Sat,2Jar200901:00:00GMTNavigateTimes=10TimeSpan=300Pa...

使用ASP加密算法加密你的数据(二)

在第一部分,讨论了如何生成密钥,下面将介绍如何使用这个密钥来加密和解密一个字符串。下面的代码就是能够同时实现这个功能的函数Crypt.asp文件<%Dim g_KeyConst g_CryptThis = "Now is the time for all good men to co...

WPINK高级版下载

今天和大家分享WordPress付费模板WPINK高级版的下载地址,支持大家购买官方版,毕竟人家做模板也不容易http://www.wpyou.com/wpink-cms-theme.html原主题演示购买链接WPINK高级版与WPINK普通版的区别是高级版多出了主题管理界面及Google广告后台管...

网页设计HTML代码大全(本站归纳)

网页设计HTML代码大全(本站归纳)

网页HTML语言归纳,本站保留权利,转载请注明出处1.结构性定义文件类型<HTML></HTML>(放在档案的开头与结尾)文件主题<TITLE></TITLE>(必须放在「文头」区块内)文头<HEAD></HEAD>(描述性资料...

推荐一款非常好的网络电视软件

推荐一款非常好的网络电视软件

在家呆了几天才发现原来看电视也是一种瘾!O(∩_∩)O哈哈~现在比较人知的PPVT,皮皮啊,什么的,我满怀信心的装上去之后发现尽然电视台是那么的少!连CCVT13都没有,很多电视台都没有真不知道他们是怎么做到敢称呼网络电视的!那个TV的名字叫着脸也不红,还大张旗鼓的放着广告,实在不想...

DVD相片电影故事-电子相册制作

DVD相片电影故事-电子相册制作

其实电子相册制作软件有很多,比较有名的像:会声会影,功能很强大,可以做出很漂亮的电子相册。同样今天要介绍的这款软件是实用性相当高的电子相册软件-DVD相片电影故事她和会声会影一样出自台湾,所以不足之处就是只有繁体中文和英语两种语言,但是影响不大老祖宗的字还是可以认得的。[FLV]https://ww...

评论列表

香袭人
14年前 (2012-02-17)

你的站做的很好。
壬辰年(龙)正月廿六 2012-2-17

七天大圣
14年前 (2012-03-06)

不错不错。学习了

ChalW
14年前 (2012-03-06)

以前学的asp都忘了,嘿嘿。

百谷
14年前 (2012-03-07)

不错,找了好久了!

郑凯彬
14年前 (2012-03-30)

来你这里看看,还不错,来我博客看看,交流交流!

OOZJ
14年前 (2012-04-21)

我来了哦

柠檬茶
14年前 (2012-05-09)

文章很不错,博主很用心,不过您的网站速度有些慢,可以使用WDCDN联盟提供的免费CDN加速服务,还支持免备案加速哦。

忆草
14年前 (2012-05-10)

今天有空就来看看你的站

AVENT
14年前 (2012-05-14)

来关注一下,好棒的文章,支持了...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。