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

ASP禁止指定IP访问方法

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

最近给一公司做网络办公系统,企业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://ishnan.com/post/150.html

分享给朋友:

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

zblog和WordPress哪个好?

zblog与WordPress哪个好,相信很多朋友都有考虑过,究竟该如何选择?也是个老大难的问题,毕竟两个都是非常非常优秀的博客程序zblog是国人编写的据说是腾讯公司一员工开发的,腾讯很牛X啊!aspWordPress是国外软件,php本质的不同,现就zblog与WordPress在不同方面作已区...

网页自动跳转代码html

网页自动跳转代码html

方案一<html><head><meta http-equiv="Content-Language" content="zh-CN"><meta HTTP-EQUIV="Content-Type"...

Microsoft Visual C 2005 Redistributable提示错误

Microsoft Visual C 2005 Redistributable提示错误

下午做了个vol版xp,感觉很好,用惯了ghost修改版的,这次换个原版的,还不赖,追求稳定嘛但是,晚上装acdsee时出现错误Microsoft Visual C 2005 Redistributable提示错误,研究了下vcredist_install,软件环境问题,安装个vcredist_in...

批量转换图片格式,批量重命名文件名 读取图片文字2

批量转换图片格式,批量重命名文件名 读取图片文字2

继续上篇 PDF转word Chief-Win PDF Converter PE图解 读取图片文字1https://ishnan.com/post/67.html下面需要将从pdf转换成word中的图片转换成统一格式便于OCR识别软件识别的图片格式附:从word中一次性到处所有图片方法,word菜单...

5320SIM卡无效

5320SIM卡无效

2010年的最后一天我把室友的5320用JAF降级,结果版本由6降到5,杯具发生了!刷号开机后5320提示sim卡无效,和几个玩手机的网友交流后得知是网络锁,要用专门的仪器去修复,解锁。要命的是费用还不低,肠子都悔青了!拿去到校门口的手机维修店,他用了什么天目,龙圣,之类的专业仪器仍然不行。其实当时...

域名更换 301定向转移

域名更换 301定向转移

 真是后悔,原来的域名被一小空间商拽住不放,非得交100大洋的域名转移费简直是敲诈!删除个人网站数据,不给钱就不给你数据什么人,两个空间都是三年,真恨当时瞎了眼!大不了哥去换域名,反正哥的域名也快到期了。废话不多说了,讲讲解决域名更换的问题吧首先对任何一个注重SEO的站长说换域名的那影响就...

评论列表

香袭人
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)

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

发表评论

访客

看不清,换一张

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