根據(jù)IP跳轉(zhuǎn)到用戶所在城市的實(shí)現(xiàn)步驟
來源:程序員人生 發(fā)布時(shí)間:2013-10-29 19:39:32 閱讀次數(shù):2819次
先去下一個(gè)最新的純真IP數(shù)據(jù)庫(kù),然后按如下操作:
1.運(yùn)行純真QQIP數(shù)據(jù)庫(kù)里帶的ShowIP.exe,點(diǎn)解壓,輸入文件名,比如IP.txt,確定,就得到一個(gè)TXT文件。
2.打開ACCESS,工具-自定義,命令選項(xiàng)卡,把導(dǎo)入選項(xiàng)拖動(dòng)到上面的工具欄。
3.建庫(kù),建一個(gè)表,四個(gè)字段
Startip 類型:文本 (相關(guān)城市的IP段信息)
Endip 類型:文本 (相關(guān)城市的IP段信息)
Country 類型:文本 (相關(guān)城市名稱)
ReUrl 類型:文本 (你想要跳轉(zhuǎn)的城市路徑如:北京 )
4.點(diǎn)導(dǎo)入按鈕,文件類型選文本文件,找到剛才導(dǎo)出的IP.txt文件,導(dǎo)入到剛才建的表里~
運(yùn)算將真實(shí)IP轉(zhuǎn)換為數(shù)字,比如北京的IP段是 : 1.1.0.0 -- 1.1.0.255
Startip: 1*256*256*256+1*256*256+0*256+0 = 16842752 (這個(gè)數(shù)字才是最終要放到數(shù)據(jù)庫(kù)里)
Endip: 1*256*256*256+1*256*256+0*256+255 = 16843007 (這個(gè)數(shù)字才是最終要放到數(shù)據(jù)庫(kù)里的)
可用程序批量處理,如果不會(huì),而且沒時(shí)間(像我一樣)你就直接去下個(gè)動(dòng)網(wǎng)的IP庫(kù),它是已經(jīng)處理好了的,下面是程序部分:
user_ip = Request.ServerVariables("REMOTE_ADDR") ''取得訪問者IP
userip_ary=split(user_ip,".")
tmp_userip=userip_ary(0)*256*256*256+userip_ary(1)*256*256+userip_ary(2)*256+userip_ary(3) '' 按規(guī)定轉(zhuǎn)換IP為數(shù)字
‘從數(shù)據(jù)庫(kù)找出用戶IP屬于的城市
set rs=Server.CreateObject("ADODB.Recordset")
sql="select * from ip where Startip<="&tmp_userip&" and Endip>="&tmp_userip
rs.open sql,conn,1,1
if rs.eof then
response.redirect "index.asp" '如果沒有該城市或是IP無法識(shí)別則轉(zhuǎn)到首頁(yè),也可以指定頁(yè)面
else
response.redirect rs("ReUrl") '如果有轉(zhuǎn)到指定頁(yè)面
end if
rs.close
set rs=nothing
將上面的程序放到你的虛擬主機(jī)默認(rèn)訪問首頁(yè)里!或是其它的頁(yè)面里(當(dāng)然你同樣要在虛擬主機(jī)控制面板里設(shè)置默認(rèn)首先訪問的是這個(gè)文件) OK
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)