Rozwiązanie 1:
<!-- Session Code --><script src="http://j.maxmind.com/app/geoip.js" type="text/javascript">var kraj = geoip_country_name(); if(kraj != 'Poland'){window.location.href="index.php";}</script>
Niestety działa tutaj JS, przez co trzeba dodać jakieś zabezpieczenie, aby wyłączenie JS nie ułatwiało dostępu, np: zmieniając adres odnośnika, wgrywając chronioną część strony za pomocą document.write, lub wgrywając cały plik PHP za pomocą AJAXa. W dodatku trzeba ufać, że MaxMind poprawnie rozpozna IP. To rozwiązanie zakłada, że nie blokujesz całkowicie dostępu do strony, stąd przekierownie do index.php, w którym to dopiero jest odnośnik do chronionej części. Zaletą tego jest to, że posiadasz najbardziej aktualną baze oraz oszczędzasz miejsce na serwerze. Łatwość zastosowania to też jedna z cech tego rozwiązania.
Rozwiązanie 2:
Wydaje mi się, że jest bardziej dokładne i ma więcej możliwości zastosowania, nie wymaga JS.
<?php
/*--- Session Code ---*/
function getIP(){
if(!empty($_SERVER['HTTP_CLIENT_IP'])){$ip=$_SERVER['HTTP_CLIENT_IP'];}elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];}else{$ip=$_SERVER['REMOTE_ADDR'];}return $ip; }
function countryIP($ip){
$ipCountry="";
preg_match("@<countryName>(.*?)</countryName>@si",$xml,$matches); return $ipCountry;
}
if(countryIP(getIP())=='poland'){
include('content.php');
}else{
echo'Tylko dla narodu polskiego'; }
?>
Tym razem polegamy na bazie danych
http://api.hostip.info, jednak możemy skorzystać z samego PHP co jest niebagatelną korzyścią. Oczywiście nazwę dołączanego pliku 'content.php' pasuje zmienić

[Kod na podstawie:
http://roshanbh.com.np/2008/07/getting-cou...ess-in-php.html]