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

ASP禁止指定IP访问方法

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

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

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

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

 去除迅雷顶部广告打开迅雷的安装目录中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...

工信部网站打不开

工信部网站打不开

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

WPINK高级版下载

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

Microsoft Visual C 2005 Redistributable提示错误

Microsoft Visual C 2005 Redistributable提示错误

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

PDF转word Chief-Win PDF Converter PE图解 读取图片文字1

PDF转word Chief-Win PDF Converter PE图解 读取图片文字1

下载运行Chief-Win PDF Converter PE1,这个软件在文章底部给出下载链接,安装运行就不用我多说了吧!2,运行注册机,复制用户名及注册码 3,双击pdf2word.exe运行转换软件 4,界面如下,很简单5,打开找到需要转换的pdf文件6,点击convert转...

评论列表

香袭人
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
13年前 (2012-04-21)

我来了哦

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

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

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

今天有空就来看看你的站

AVENT
13年前 (2012-05-14)

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

发表评论

访客

看不清,换一张

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