关闭

关于在网页中使用IP的一次技术讨论

680人阅读 评论(0) 收藏 举报

(2006-06-09 10:00:39)   [不二]张斌广(3586618)

主要就是想通用用户的IP来确定用户把在省市

(2006-06-09 10:00:51)   -华亭慧剑-(1011370)

嗯,对啊,还有什么问题呢?

(2006-06-09 10:01:25)   [不二]张斌广(3586618)

给个思路吧

(2006-06-09 10:01:56)   [不二]张斌广(3586618)

通过网页,获得访问网页用户的IP,

(2006-06-09 10:02:03)   -华亭慧剑-(1011370)

昨天后来那个mdb的地址库能用吗?

(2006-06-09 10:02:16)   [不二]张斌广(3586618)

然后比较IP

(2006-06-09 10:02:35)   [不二]张斌广(3586618)

那个库里给的也是一组一组的数据

(2006-06-09 10:02:37)   -华亭慧剑-(1011370)

对啊,还有什么问题,怎么不能比较呢?

(2006-06-09 10:02:43)   [不二]张斌广(3586618)

不知道它是怎么算的

(2006-06-09 10:02:50)   -华亭慧剑-(1011370)

是数值?

(2006-06-09 10:03:01)   [不二]张斌广(3586618)

比如192.168.0.0-192.168.0.255

(2006-06-09 10:03:33)   [不二]张斌广(3586618)

那么你给的那个库的IP地址是通过什么算法转换的呢

(2006-06-09 10:04:05)   [不二]张斌广(3586618)

如果不知道就没法把用户的IP转换成和库里的一样,那么就没法进行比较了

(2006-06-09 10:04:06)   [不二]张斌广(3586618)

是吧

(2006-06-09 10:04:21)   -华亭慧剑-(1011370)

这样,先不要考虑别的因素,先说你这里的现状。

(2006-06-09 10:04:31)   -华亭慧剑-(1011370)

你的IP地址库是什么样子的?

(2006-06-09 10:04:58)   [不二]张斌广(3586618)

我就只有你昨天给的那个IP.还是就是纯真IP数据库

(2006-06-09 10:05:07)   [不二]张斌广(3586618)

这两个应该是比较全的.

(2006-06-09 10:05:09)   -华亭慧剑-(1011370)

你希望用哪一个? (2006-06-09 10:05:17)  

[不二]张斌广(3586618)我只要国内的省市的就可以

(2006-06-09 10:05:27)   [不二]张斌广(3586618)

两个都差不多的

(2006-06-09 10:05:31)   [不二]张斌广(3586618)

用哪个都行.

 (2006-06-09 10:06:10)   [不二]张斌广(3586618)

如果搞明白了.用哪个都行.而且我用的不多.到时候还要自己整理一下.我只用省市的就行. (2006-06-09 10:06:40)   [不二]张斌广(3586618)

只要国内各市的IP段就行,主要是为了判断用户是哪个省哪个市的

(2006-06-09 10:06:40)   -华亭慧剑-(1011370)

我觉得很明白了,呵呵。

(2006-06-09 10:06:46)   [不二]张斌广(3586618)

谢谢

(2006-06-09 10:06:58)   [不二]张斌广(3586618)

我的文字表达能力还行,呵呵

(2006-06-09 10:07:24)   -华亭慧剑-(1011370)

就说纯真那个吧,它是用4个字节表示一个IP的开始,3个字节表示IP的偏移,这个明白不明白?

(2006-06-09 10:07:58)   [不二]张斌广(3586618)

后面的偏移不明白

(2006-06-09 10:08:08)   [不二]张斌广(3586618)

还有比如说四个字节吧.

 (2006-06-09 10:08:10)   -华亭慧剑-(1011370)

晕,你理解错了,我没在表扬你。。。

(2006-06-09 10:08:23)   [不二]张斌广(3586618)

如果IP192.168.0.1

(2006-06-09 10:09:17)   [不二]张斌广(3586618)

那么转换成HEX就是C0A801

(2006-06-09 10:09:31)   -华亭慧剑-(1011370)

比如说,4个字节表示的是192.168.0.0,偏移表示的是0.0.255.255,那么这条记录表示的IP地址段就是192.168.0.0-192.168.255.255

(2006-06-09 10:10:22)   [不二]张斌广(3586618)

那么,国内的IP划分是如何划分的呢,

(2006-06-09 10:10:34)   [不二]张斌广(3586618)

XXX.XXX.YYY.YYY

(2006-06-09 10:10:37)   -华亭慧剑-(1011370)

便宜的第一个字节永远是0,所以被省略了,只用了3个字节。也就是(0.)0.255.255,这样的。

 (2006-06-09 10:11:15)   [不二]张斌广(3586618)

.然后呢

 (2006-06-09 10:12:07)   [不二]张斌广(3586618)

老大有没有写成文的,俺认真看看

(2006-06-09 10:12:21)   [不二]张斌广(3586618)

书到用时方恨少.

(2006-06-09 10:12:58)   精灵幻境(42187801)

net页面重载,比如在某网页最上边加一个图并且达到不刷新的那种效果,是只要把这个图单做一页然后以类似控件的形式贴到另一页上就行了吗 

(2006-06-09 10:15:45)   -华亭慧剑-(1011370)

这个跟如何划分无关,再给你举个例子。218.28.166.0~218.28.166.127是河南网通二七区的218.28.166.128~218.28.166.255是河南网通中原区的这两条记录就是218.28.166.0, 0.0.128218.28.166.128, 0.0.128

 (2006-06-09 10:17:36)   D-孩儿(49195939)

add key="connstr" value="Provider=Microsoft.Jet.OleDb.4.0;Data Source=MapPath("/database/#3842745.mdb")"/>

(2006-06-09 10:17:44)   D-孩儿(49195939)

看看我这句错哪里了

(2006-06-09 10:17:59)   D-孩儿(49195939)

写在WEB.CONFIG里面的ACESS链接

(2006-06-09 10:18:09)   -华亭慧剑-(1011370)

web.config文件里面不能包含程序语句mappath

(2006-06-09 10:18:31)   D-孩儿(49195939)

那该怎么办呢?

(2006-06-09 10:19:05)   [不二]张斌广(3586618)

这样的话,218.28.166.0, 0.0.128转换成16进制就是六个字节加半个,

(2006-06-09 10:20:16)   D-孩儿(49195939)

我想用相对路径访问数据库

(2006-06-09 10:20:25)   D-孩儿(49195939)

如何写在web.config里面

(2006-06-09 10:20:38)   -华亭慧剑-(1011370)

add key="dbstr" value="/database/#3842745.mdb"然后在global.asax的后台代码里面,定义全局字符串connstrconnstr="Provider=..." & ConfigurationSettings.AppSettings("dbstr") (2006-06-09 10:21:09)   [不二]张斌广(3586618)

是不是就是说,IP数据库里的IP1的每个字段是:IP起地址+IP始地址

(2006-06-09 10:21:14)   -华亭慧剑-(1011370)

怎么会六个字节加半个?是7个字节,128也占一个字节啊。

(2006-06-09 10:21:40)   [不二]张斌广(3586618)

呵呵

(2006-06-09 10:21:59)   [不二]张斌广(3586618)

,还有这个问题,

(2006-06-09 10:22:08)   -华亭慧剑-(1011370)

(2006-06-09 10:22:10)   [不二]张斌广(3586618)

你所说的字节是怎么理解的

(2006-06-09 10:22:22)   [不二]张斌广(3586618)

是转换成16进制后的

(2006-06-09 10:22:35)   [不二]张斌广(3586618)

还是指数据库里的数据长度

(2006-06-09 10:23:24)   -华亭慧剑-(1011370)

字节就是字节,8个二进制位,表示整数就从025516进制表示就是00FF

(2006-06-09 10:23:53)   -华亭慧剑-(1011370)

二进制表示就是0000000011111111

 (2006-06-09 10:24:31)   [不二]张斌广(3586618)

那么,是我的原因造成的理解错误

(2006-06-09 10:24:52)   -华亭慧剑-(1011370)

你怎么理解的?

(2006-06-09 10:24:57)   [不二]张斌广(3586618)

我转换的时候,Hex(1)=1

(2006-06-09 10:25:15)   [不二]张斌广(3586618)

照你的说法应该是:Hex(1)=01

(2006-06-09 10:25:17)   [不二]张斌广(3586618)

对吧

(2006-06-09 10:26:44)   -华亭慧剑-(1011370)

这个没啥错误,101是一样的,16进制写00只不过是习惯而已。

(2006-06-09 10:27:27)   [不二]张斌广(3586618)

恩.是这样的.我用VBSCRIPT写的,所以犯下这个错误,造成误解.

(2006-06-09 10:28:27)   [不二]张斌广(3586618)

那么可以这样理解IP数据库,字段1是开始ip,字段2是偏移ip

(2006-06-09 10:28:46)   -华亭慧剑-(1011370)

对啊

(2006-06-09 10:29:16)   [不二]张斌广(3586618)

好的.

(2006-06-09 10:29:31)   [不二]张斌广(3586618)

对了,还有一点

(2006-06-09 10:29:35)   -华亭慧剑-(1011370)

(2006-06-09 10:30:59)   [不二]张斌广(3586618)

那么,比较的时候取用户的IP前三个字节,与数据库的字段1比较,最后一个字节和数据库里的字段子比较.是否是这样呢

(2006-06-09 10:35:06)   -华亭慧剑-(1011370)

不应该这么分,这涉及到IP地址的基本划分规则,具体我也说不清楚,分ABCDE类地址,每类地址都有不同规定。为了可靠,应该比较整个地址。

(2006-06-09 10:36:33)   [不二]张斌广(3586618)

那我再看看纯真IP文档说明里的IP偏移的

(2006-06-09 10:37:38)   -华亭慧剑-(1011370)

它这个IP偏移跟我上面说的IP地址的基本划分规则关系不大。按照它这个说明应该就能很好的进行比较了。

(2006-06-09 10:39:31)   [不二]张斌广(3586618)

我的思路是这样的,就是判断IP的偏移位数.

(2006-06-09 10:39:42)   [不二]张斌广(3586618)

因为我们只需要要部分数据.

(2006-06-09 10:40:06)   [不二]张斌广(3586618)

关键这些数据是先收据再通过算法写入到库的

(2006-06-09 10:40:27)   [不二]张斌广(3586618)

而不是按IP规则划分入库的,对吧

(2006-06-09 10:40:41)   -华亭慧剑-(1011370)

(2006-06-09 10:41:19)   [不二]张斌广(3586618)

所以目前的关键问题还是解决算法的问题.

(2006-06-09 10:45:58)   -华亭慧剑-(1011370)

我提个建议,你根据纯真IP库在数据库里建立自己的IP地址库,字段这样划分。开始地址,字符串,类似192.168.0.0结束地址,字符串,类似192.168.255.255开始地址数值,整数,值为192×256×256×256168×256×2560×2560结束地址数值,整数,值为192×256×256×256168×256×256255×256255所在地省市其他信息这样你得到一个对方地址的时候,就把先地址转化成数值,用数值查询速度比较快。

(2006-06-09 10:46:31)   -华亭慧剑-(1011370)

其实纯真库用4个字节也是这个道理。只不过它没有用数据库,就很不直观了。

(2006-06-09 10:47:33)   RS(88307341)

可以考虑用位运算

(2006-06-09 10:47:38)   RS(88307341)

速度更快

(2006-06-09 10:47:53)   -华亭慧剑-(1011370

)数据库查询恐怕不行吧

(2006-06-09 10:48:24)   -华亭慧剑-(1011370)

它是要从一个库里面取出大于开始值小于结束值的一条记录

(2006-06-09 10:48:34)   [不二]张斌广(3586618)

若是不能查询也是个问题呀

(2006-06-09 10:48:45)   [不二]张斌广(3586618)

是的

(2006-06-09 10:53:09)   精灵幻境(42187801)

谁有。NETajax的好点的教程啊

(2006-06-09 10:53:23)   [不二]张斌广(3586618)

看来我要想办法把数据库里我要用到的IP导出来,然后再建个库

(2006-06-09 10:53:28)   xoyo(24950924)

什么叫好点儿的教程

(2006-06-09 10:57:30)   [不二]张斌广(3586618

精灵,知道什么是AJAX么?

(2006-06-09 10:59:28)   精灵幻境(42187801)

我刚才网站上看了一下!基本上不太明白!不过我知道可以达到网页分布刷新的效果 (2006-06-09 11:00:43)   精灵幻境(42187801)

虽然用用户控件也可以达到这个效果,我用的也不熟!反正要学其中之一!就学个比较热门的吧

(2006-06-09 11:01:13)   [不二]张斌广(3586618)

呵呵,你去CSDN看看吧.

(2006-06-09 11:01:22)   [不二]张斌广(3586618)

那里有不错的资料供你参考

(2006-06-09 11:01:50)   精灵幻境(42187801)恩!谢谢啦!!

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:53579次
    • 积分:1027
    • 等级:
    • 排名:千里之外
    • 原创:48篇
    • 转载:7篇
    • 译文:0篇
    • 评论:13条
    文章分类
    最新评论