The Most Active and Friendliest
Affiliate Marketing Community Online!

“AdsEmpire”/  Direct Affiliate

Geo IP - User location lookup

Humous

New Member
affiliate
I've just spent a little time setting up a trial for Geo IPLite to resolve users IP addresses to Country, seeing as you've all been nice and posted things like this here I thought I would too.

I've ran my demo from a Linux apache server running MySQL, I am currently using Perl but have also tested using PHP.

1st off download the CSV data from here and import the data into your database, I found the instructions here to be full and complete for my purposes (I would rewrite it here but it's that good).

Not wanting to install their APIs I set about utilizing the data from Perl, the biggest problem is that the GeoIP lists ip addresses as "ip strings" (which is a term I hadn't come across before).

The IP string is a concatination of the 4 (8bit) binary IP blocks converted to decimal. So as a quick example 192.168.1.0 becomes 3215458560.

I believe the PHP for getting the user IP address/string is
PHP:
$ipstring=ip2long($_SERVER);['REMOTE_ADDR']

I couldn't find a perl function so wrote one
Code:
$ipstring=ipstring($ENV{'REMOTE_ADDR'});

sub ipstring
{
	my ($numip) = @_;
	
	my($w,$null,$x,$null,$y,$null,$z,$null)=split /([.])/,$numip;
	
	$numw = substr(unpack("B*", pack("N", $w)),24,8);
	$numx = substr(unpack("B*", pack("N", $x)),24,8);
	$numy = substr(unpack("B*", pack("N", $y)),24,8);
	$numz = substr(unpack("B*", pack("N", $z)),24,8);
	
	$comb="$numw$numx$numy$numz";

	$decval = unpack("N", pack("B32", substr($comb, -32)));
	return $decval;
}

Then use that number in the following SQL query

Code:
select cc.ci,cc.cn from ip,cc where ip.start < "$ipstring" AND ip.end > "$ipstring" AND ip.ci=cc.ci

Hopefully that will get you going.

Humous
 
I looked into this when I 1st started using Perl (way before I started PHP) and couldn't figure it out. Tried again yesterday and found it a lot easier.

Now - to figure out how to combine htaccess with Active Directory... To the VM lab

Thanks for the rep GKD

Humous.
 
Is your online business paralyze by this? (personal experience)

Hi Humous

If you get any further queries specially related to technical then go for

www(dot)techhelpformarketers(dot)com
 
banners
Back