自動識別IP,并跳轉到來訪問者所在的城市
先去下一個最新的純真IP數據庫,然后按如下操作:
1.運行純真QQIP數據庫里帶的ShowIP.exe,點解壓,輸入文件名,比如IP.txt,確定,就得到一個TXT文件。
2.打開ACCESS,工具-自定義,命令選項卡,把導入選項拖動到上面的工具欄。
3.建庫,建一個表,四個字段
Startip 類型:文本 (相關城市的IP段信息)
Endip 類型:文本 (相關城市的IP段信息)
Country 類型:文本 (相關城市名稱)
ReUrl 類型:文本 (你想要跳轉的城市路徑如:北京 [url]http://bj.abc.com)[/url]
4.點導入按鈕,文件類型選文本文件,找到剛才導出的IP.txt文件,導入到剛才建的表里~
運算將真實IP轉換為數字,比如北京的IP段是 : 1.1.0.0 -- 1.1.0.255
Startip: 1*256*256*256+1*256*256+0*256+0 = 16842752 (這個數字才是最終要放到數據庫里)
Endip: 1*256*256*256+1*256*256+0*256+255 = 16843007 (這個數字才是最終要放到數據庫里的)
可用程序批量處理,如果沒時間(像我一樣)你就直接去下個動網(好像風四也帶了)的IP庫,它是已經處理好了的,下面是程序部分:
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) ' 按規定轉換IP為數字
‘從數據庫找出用戶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無法識別則轉到首頁,也可以指定頁面
else
response.redirect rs("ReUrl") ’如果有轉到指定頁面
end if
rs.close
set rs=nothing
將上面的程序放到你的虛擬主機默認訪問首頁里!或是其它的頁面里(當然你同樣要在虛擬主機控制面板里設置默認首先訪問的是這個文件)
下一條: 值得收藏的一些代碼