bola
Arabic Korean Japanese Chinese Simplified Russian Portuguese English French German Spain Italian Dutch

Rabu, 13 Mei 2009

Cara mengetahui IP

Manfaat Apa yang Bisa Kita Dapatkan? Nah... rekan2 pemula programmer yang budiman, mari kita lanjutkan bahasan berikutnya mengenai apa saja manfaat yang bisa kita ambil dari informasi tsb:
1. Menampilkan waktu sesuai lokasi geografis (Negara)
2. Menampilkan website dalam bahasa lokal
3. Memaintenance dan menganalisa log pengunjung untuk website
4. Meredirect pengunjung ke website lokal
5. Menampilkan harga produk dalam mata uang lokal
6. Memfilter hak akses negara asal
7. Memfilter Spam
8. Menampilkan iklan/banner sesuai negara pengunjung
9. dan masih banyak manfaat lainnya yang bisa kita ambil...
Setelah kita mengetahui kebutuhan dan manfaat-nya, lalu bagaimana caranya agar kita bisa tahu IP Address dan asal negaranya? wuuuaahhh... semakin seru nih... :) baiklah, mari kita lanjutkan.
Mendapatkan IP Address
Pertama kita harus bisa mendapatkan IP Address si pengunjung. Perlu kita ketahui bahwa setiap komputer yang bisa akses ke internet memiliki IP Addess yang unik/khas dengan kata lain bahwa seetiap user yang akses ke internet memiliki identitas yaitu IP Address. IP Address adalah alamat yang berhubungan dengan komputer yang berupa angka, seperti 69.55.155.55.
Nah... rekan2 pemula programmer yang setia, dari IP Address inilah kita bisa menentukan nama/asal negara dari si pengunjung website kita, mudah bukan...??!! :), tetapi kita masih perlu sedikit logika didalam mengambil informasi asal negara yang ada didalam database diatas tadi?!.
Pada kesempatan kali ini kita akan menggunakan script ASP untuk mengambil informasi yang ada di dalam database tersebut. Untuk mengambil informasi dalam database tsb, kita perlu petunjuk/indator yang mengarahkan kita untuk mengambil informasi asal negara bersangkutan dari database. Lalu bagaimana kita bisa mendapatkan informasi IP Address tsb? kan IP Address-nya jauh dari kita, apalagi kalau yang akses dari negara lain bahkan benua lain... :( Rekan2 jangan panik dulu donk... walaupun kita jauh dari si pengunjung, tetapi kita punya teman setia yang setiap waktu bisa memberikan informasi ke kita berkaitan dengan IP Address tersebut, siapa dia...?
Didalam script ASP ada variable server yang namanya: REMOTE_ADDR, nah... ini dia teman kita yang akan memberikan informasi IP Address... yuk kita kenalan...
Variable server REMOTE_ADDR adalah salah satu dari sekian banyak koleksi variable server yang ada. Header HTTP (HyperText Transfer Protocol) dikirimkan dari browser si pengunjung ke server dimana website kita berada, informasi IP Address akan menumpang pada header HTTP tsb yang di tampung dalam variable REMOTE_ADDR, sehingga kita bisa dapakan IP Address dari pengunjung website kita. Mudah bukan? :)
Mengkonversi IP Address ke IP Number
Langkah kita belum selesai, karena kita harus mengkonversi IP Address tersebut yang memiliki format AAA.BBB.CCC.DDD ke dalam format range IP Number seperti yang ada didalam database yang telah kita download sebelumnya. Lalu bagaimana formulanya? Dibawah ini adalah formula untuk mengkonversi IP Address ke IP Number:
A * (256*256*256) + B * (256*256) + C * 256 + D
dinama variable A adalah tiga angka pertama dari IP Address yang telah didapatkan, begitu juga dengan variable B, C, dan D, kita tinggal memasukkan ke dalam formula tersebut dan hasilnya kita gunakan untuk mengambil informasi negara yang ada didalam database.
Mari kita buat satu prosedur yang fungsinya untuk mengkonversi IP Address ke IP Number:
<% Private Function IPA2IPN(IPA) strArray = Split(IPA, ".") AAA = CInt(strArray(0)) * 256 * 256 * 256 BBB = CInt(strArray(1)) * 256 * 256 CCC = CInt(strArray(2)) * 256 DDD = CInt(strArray(3)) IPA2IPN = AAA + BBB + CCC + DDD End Function %>
Jadi syntax untuk mengkonversi IP Address: 69.55.155.55 ke IP Number seperti berikut:
<%= IPA2IPN("69.55.155.55" ) %>
atau:
<%= IPA2IPN(request.ServerVariables("REMOTE_ADDR" )) %>
Akses Database
Setelah kita dapatkan informasi IP Address yang sebelumnya telah kita konversi ke IP Number, langkah selanjutnya adalah mengambil informasi nama negara sesuai IP Address tersebut dari database berdasarkan IP Number tadi. Sebelum melangkah bagaimana kita mengambil informasi nama negaranya, maka kita akan mencoba untuk mengakses database yang telah kita download tadi.
Perlu kita ketahui bahwa database yang kita download sebelumnya, jika kita ekstrak dengan tools WinZIP atau WinRAR akan menghasilkan file dengan format CSV (Comma Delimited), sehingga kita perlu mengkonversi ke dalam database yang kita inginkan. Untuk mengkonversi ke file database mis: Microsoft Access (*.MDB), kita bisa langsung membuka file CSV tsb dengan Microsoft Excel. Setelah file terbuka, sisipkan satu baris pada baris teratas untuk meletakkan header atau nama field yang belum ada. Setelah kita sisipkan satu baris, lanjutkan dengan memberi nama2 field seperti table diatas (lihat struktur table), kemudian save as dengan type file XLS, sudah...??!! keluar dari Excel, dan lanjutkan dengan membuka Micrsofot Access, jika muncul kotak dialog Create a new database using, maka pilih Blank Access database lalu klik OK, dan ketikkan nama file MDB-nya (mis: IP2Country) dan tekan tombol Create. Setelah muncul kotak dialog IP2Country: Database, klik kanan pada bagian yang berwarna putih, pilih Import, setelah muncul kotak dialog Import, pada Files of type, pilih Microsoft Excel (*.xls) dan klik nama file ip-to-country.xls tadi kemudian akhiri dengan klik tombol Import.
Setelah file database access tercipta, kita perlu mengaksesnya. Berikut adalah cara koneksi ke file MDB dengan script ASP:
<% strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _ server.MapPath("ip2country.mdb") Set Conn = server.CreateObject("ADODB.Connection") Conn.Open strConn %>
Mengambil dan Menampilkan Informasi
Setelah kita berhasil melakukan koneksi?ke database, maka langkah selanjutnya adalah membuat script untuk mengambil data dari table ip2country, field2 yang akan kita ambil pada contoh bahasan kali hanya Country_Name. Berikut adalah contoh script tersebut:
Set rsTable = server.CreateObject("ADODB.Recordset") strSQL = "SELECT COUNTRY_NAME " & _ "FROM IP2COUNTRY " & _ "WHERE IP_FROM <= IPNumber AND IP_TO >= IPNumber" rsTable.Open strSQL, Conn
Setelah itu lanjutkan dengan mengetik script untuk menampilkan hasil dari query diatas:
IP Address anda :- <%= request.ServerVariables("REMOTE_ADDR" ) %>
<%?if Not rsTable.Eof Or Not rsTable.Bof Then?%> Negara anda :- <%= rsTable("Country_Name" ) %> <% else %> Negara anda :- belum terdaftar <% end if rsTable.Close Conn.Close set rsTable = nothing set Conn = nothing %>
Berikut ini ada link untuk: - kode ASP yang sudah test-run: klik tombol Start Download dibawah ini. - Bendera negara diseluruh dunia: http://jaist.dl.sourceforge.net/sourceforge/flags/gif-1.0.tar.gz
javascript:void(0)

0 komentar:

:)) :)] ;)) ;;) :D ;) :p :(( :) :( :X =(( :-o :-/ :-* :| 8-} ~x( :-t b-( :-L x( =))

Posting Komentar