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

ASP禁止指定IP访问方法

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

最近给一公司做网络办公系统,企业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访问方法” 的相关文章

工信部网站打不开

工信部网站打不开

很多站长备案都或多或少遇到备案的问题,主要是工信部备案网站打不开!按理说一个国家的官方网站打不开是不是有点问题呢,其实不是那样的网友们可以直接访问这个http://211.94.161.70网址直接就可以打开了! 工信部备案查询网站 http://www...

让桌面文字背景透明的6步曲

今天一MM在QQ上求助,说桌面的图标文字突然出现了兰色背景,看着不爽,让偶帮忙弄回透明效果。  按常规方法:  1、右键点“我的电脑”,左键点“属性”、“高级”、“设置”、再点“性能&rdqu...

阜阳电信宽带漏洞账号

阜阳电信宽带漏洞账号

阜阳电信现在的账号存在很大安全隐患现在公布部分隐患号码,希望用户及时更改密码,以避免不必要的话费产生055822630332263563441133944115134411884226389322720894413248s44132482010年6月16日12:06:0222644172010年6月...

网页歌词同步代码

实现网页歌词同步的源码,含JS演示地址:http://www.shnan.net/demo/lrcs/example.htm 代码下载:http://pan.baidu.com/share/link?shareid=57954&uk=3643590670by:ishnan<h...

netfirms QQ域名邮箱设置图文教程

netfirms QQ域名邮箱设置图文教程

netfirms QQ域名邮箱设置图文教程在加拿大的本土IDC服务商netfirms注册了个net域名,便宜啊,才三十多。转入转出朋友们说很方便,只是要注册后60天,但是子域名貌似不限制吧,比国内的好了很多。百度了下,网上没有找到netfirms QQ域名邮箱设置的教程。干脆自己做一个,方便自己也有...

禁止百度蜘蛛收录网站

禁止百度蜘蛛收录网站

本来一个好好的站,PR值突然从3降到1了,莫名其妙~~后来反思了下,觉得有些道理,年前想着给惠邦肉鸭弄网站,再三考虑决定用WP试试,毕竟Woedpress很强大嘛,主要是插件那块,可以做到很多想实现的效果。倒出现在的网站的数据,在转换后倒入WP,放到站上,但是一个细节忽略了!那个是独立的站,百度等蜘...

评论列表

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

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

发表评论

访客

看不清,换一张

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