關於在網頁中使用IP的一次技術討論

(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)恩!謝謝啦!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章