What you need:
A website (duh)
A IP To Country Database (included here)
So the script is like this:
PHP Code:
<?php
// Check if the cookie exists
if( empty($_COOKIE['IsValid']) ) {
$valid = 'true';
// Establishing a database connection
$dbh=mysql_connect("localhost:3306","USER","PASS");
mysql_select_db("IP_ToCountry_Database");
// Getting User's IP
$ip = $_SERVER["REMOTE_ADDR"];
// Executing main query
$country_exec = mysql_query("SELECT * FROM iptocountry WHERE ipto >= inet_aton('$ip') AND ipfrom <= inet_aton('$ip')");
// Fetching the record
$ccode_fetch=mysql_fetch_assoc($country_exec);
// Getting the country code from the array
$pais=$ccode_fetch['country2'];
// Declaring the Allowed Countries by their CountryCode2
$allowed = array('US', 'AR', 'UY', 'BR', 'FR');
// Verifying if the user belongs to any of the allowed countries
if (!in_array($pais, $allowed)) {
$valid = 'false';
}
// Setting the cookie for a 10 minutes life
setcookie("IsValid", $valid, time()+600);
mysql_close($dbh);
if ( $_COOKIE['IsValid'] == 'false' ) {
echo "Not allowed country";
die();
}
}else{
if ( $_COOKIE['IsValid'] == 'false' ) {
echo "Not allowed country";
die();
}
}
?>
I added this script at init.php, but I don't think init.php is the best place for adding that code.
That's All.
NOW I want to know how to transform this script in a vBulletin plugin, I think the ip to country table can be added to vBulletin database, and in the script use the db=> thing.