纯ASP(VBscript)写的全球IP地址搜索程序

信关公的小马哥

信关公的小马哥

2016-01-29 17:50

纯ASP(VBscript)写的全球IP地址搜索程序,纯ASP(VBscript)写的全球IP地址搜索程序
 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%
<html
<head
<titleUntitled Document</title
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"
</head
<body
<%
  dim finishgetip,showip,allip
'/////////////////////////////////////////////////////////
'程序还不是很精简,以后再修改
'本程序所用的数据库为-- “冯志宏”-- 所写的--“追捕”--软件中所带IP数据库和
' “国华软件 Guohua Soft”的作者 --“冯国华”—所写的“全球IP地址分配表.chm”合二为一得到的
'感谢“冯志宏”和“冯国华”提供的数据
'数据库中还有不少的重复IP地址,希望有心人能将其删除,减小数据库
'我的程序写的还很笨拙,希望大家能多提意见,多多交流,谢谢!
'///////////////////////////////////////////////////////////
'解决思路: www.knowsky.com
'取得的客户端IP一般是202.11.25.1这种,而数据库中的IP格式为202.011.025.001,这就需要将取得的
'客户端IP转换为与数据库中IP一样的格式
'因为目前我们所用的IP是分为4段,每段3位,中间以“.”分隔
'所以我的思路是将客户端IP以“.”符号分割为4段,即202/11/25/1
'然后再分别核对每一段,如果是3位,则不变;如不足3位,为2位,该段前补1个0,为1,同理,则补2个0
'得到格式化后的IP后,去掉IP的最后一段,即取包括“.”的前11位,与数据库中的startip字段的前11位相比较,查找相同的值
'因为从数据库中可以看到,startip和endip的前三段都是一样的,而最后一段不过是内部子网地址,可以去掉
'所以只要取startip或endip的任意一个字段的前11位与客户端IP的前11位相比较就可以查到正确的所在地
'///////////////////////////////////////////////////////////////
function checkip_trueip()
    '取客户端真实IP
    getclientip = Request.ServerVariables("HTTP_X_FORWARDED_FOR") '如果客户端用了代理服务器,则用Request.ServerVariables("REMOTE_ADDR")方法只能得到空值,则应该用ServerVariables("HTTP_X_FORWARDED_FOR")方法
   If getclientip = "" Then
    getclientip = Request.ServerVariables("REMOTE_ADDR")'如果客户端没用代理,则Request.ServerVariables("HTTP_X_FORWARDED_FOR")得到是空值,应该用Request.ServerVariables("REMOTE_ADDR")方法
   end if
checkip_trueip = getclientip
end function
'/////////////////////////////////////////////////////////
function getaccessrecordset(db,sql,mark,read)'取得Recordset对象
    set conn=getaccessconn(db)'输入参数为db-数据库的相对路径,sql-SQL语句,mark,read为数据库读取方式,1,1为只读,1,3为读写
      'constr="Provider=microsoft.jet.oledb.4.0;"&"data Source="&Server.MapPath(db)
  ' conn.open constr
   set getaccessrecordset=server.CreateObject("ADODB.Recordset")
     getaccessrecordset.open sql,conn,mark,read
         End function
'////////////////////////////////////////////////////////////
function getaccessconn(db)'取得connection对象
set getaccessconn=server.CreateObject("ADODB.Connection")
 'constr="DRIVER={MICROSOFT ACCESS DRIVER (*.MDB)};DBQ="&SERVER.MAPPATH("allcon/#bbsall.mdb")
 constr="Provider=microsoft.jet.oledb.4.0;"&"data Source="&Server.MapPath(db)
 getaccessconn.open constr
  end function
'////////////////////////////////////////////////////////////
dim getip
'getip=(trim(request.ServerVariables("REMOTE_ADDR")))'从客户端获取IP
'getip=(trim(request.QueryString("comes"))) '自己输入IP测试
'response.Write(getip&"<br")
'////////////////////////////////////////////////////////////
function checkip_locations(checkstring) '返回IP中分隔字符的位置函数
   checkip_locations=Instr(checkstring,".") '将位置的值赋予给函数
end function
'////////////////////////////////////////////////////////////
'以下函数为分割IP,取得每次分割后“.”符号右边的IP剩余的字符串
function checkip_left(checkstring)
    locations_left=checkip_locations(checkstring) '得到在IP剩余的字符串中“.”第一次出现的位置
   iplength_left=Len(checkstring) '取得IP剩余的字符串的长度
 

展开更多 50%)
分享

猜你喜欢

纯ASP(VBscript)写的全球IP地址搜索程序

ASP
纯ASP(VBscript)写的全球IP地址搜索程序

全球IP地址查询完整版

ASP
全球IP地址查询完整版

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

ASP如何获取真实IP地址

ASP
ASP如何获取真实IP地址

使用VB编写纯ASP程序

ASP
使用VB编写纯ASP程序

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

查找ip地址、查找本地IP、网络IP和对方IP地址的方法

电脑入门
查找ip地址、查找本地IP、网络IP和对方IP地址的方法

用Delphi程序获取拨号连接的动态IP地址

编程语言 网络编程
用Delphi程序获取拨号连接的动态IP地址

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

各不相同 Word中几种文本格式的区别

各不相同 Word中几种文本格式的区别

Word公式编辑器 快速上手指南

Word公式编辑器 快速上手指南
下拉加载更多内容 ↓