200分求一段asp利用IP判断是否允许访问的代码

来源:百度知道 编辑:UC知道 时间:2024/05/16 18:04:33
在页面上加上if判断语句,对来访的IP地址进行判断。思路是,假设你允许访问的IP地址为A,所对应的数据库表名为ip,那么用选择判断语句:如果满足IP条件,则允许访问该页面)else(跳转到你指定禁止访问的页面)。

语言是ASP的,VB

希望能有完整代码方便嵌套

可以使用的话追加一倍积分,谢谢各位大虾
两种代码使用后都有共同的问题,可能是我没表述清楚。问题是一:无法使用相对路径,在用相对路径的情况下,输入上一级目录则会在浏览器中出现两次上一级目录的地址,如果不输入上级目录则缺少上一级目录。例:http://localhost/jy/Default.asp 前面这个是文件地址,如果我直接写相对路径中的文件名 就得出 http://localhost/Default.asp 无法访问。 如果输入 JY目录和文件名 格式 jy/default.asp 则得出 http://localhost/jy/jy/Default.asp 也无法访问。
问题二:如果使用绝对路径,则导致该页面不断的重定向。与判断似乎没有什么关系。。。。。
if rs.eof or rs.bof Or err Then'数据库中没有该IP
response.redirect "/指定禁止访问的页面.asp"'不允许访问当前页
这两句不够好用,能改成 如果数据库中有该IP则允许访问目前访问的页面内容。
比如,我在 a1.asp 头部引用<!--#include file="checkip.asp&qu

200分啊!!!!!!!再来补充一次:
if rs.eof or rs.bof Or err Then'数据库中没有该IP
response.redirect "/指定禁止访问的页面.asp"'不允许访问当前页
End if
这两句不够好用,能改成 如果数据库中有该IP则允许访问目前访问的页面内容。
这两句的意思是这样,你还没理解透彻:
如果数据库中没有这个IP,则进入跟目录的"/指定禁止访问的页面.asp",你的要求是“/jy/Default.asp ”,所以改成这个就可以解决问题一,关键在于jy/Default.asp 前面加了“/”,表示先返回跟目录,再找到“jy”目录,解决了路径问题。进入“/jy/Default.asp ”后,就不会执行当前页面的其它代码,达到保密的要求,如果有这个IP,则继续执行当前页面的代码,也就是允许访问当前页面的意思。所以,据我看来是没问题的。
问题二:如果使用绝对路径,则导致该页面不断的重定向。与判断似乎没有什么关系。。。。。
这个问题,肯定是你的“/jy/Default.asp”有问题,最可能的是这个页面也加了IP判断。当然不能加啦!!!

目前不知道是我调试服务器的问题还是代码问题,总之数据库中存在192.168.0.1和我在公网的IP。但是都无法访问 “指定禁止访问的页面.asp”
你用“http://localhost/”访问你的网站,那么你的IP就应该是“127.0.0.1”是你数据库里没有的,才会去访问“指定禁止访问的页面.asp”
至于IP到底是不是“127.0.0.1”,你可以用这个代码测试一下:
<%
Private Function getIP()
Dim strIPAddr
If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR InStr