Исключение IP-адреса maxmind geoip в php

Я использую скрипт Maxmid geoip (php) для перенаправления пользователей в зависимости от их местоположения (www.mysite.com - для целей этого вопроса). посетители из Великобритании перейдут на сайт в Великобритании, тогда как другие останутся на текущем сайте. однако я также хочу настроить исключение только для своего IP-адреса, чтобы я мог просматривать оба сайта (при условии, что мой IP-адрес совпадает с указанным в файле - я живу в Великобритании). ниже моя кодировка, которая не работает в отношении «ip-исключения».

<?php
require_once($_SERVER['DOCUMENT_ROOT']."/geoip/geoip.inc");
$gi = geoip_open($_SERVER['DOCUMENT_ROOT']."/geoip/GeoIP.dat", GEOIP_MEMORY_CACHE);
$country = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
geoip_close($gi);
$useragent_country = array('gb');
$exception_ip = "80.47.200.21";

if (in_array(strtolower($country), $useragent_country)){
    header('location: http://www.mysite.co.uk');
    exit();
} 
if ($_SERVER['REMOTE_ADDR'] = $exception_ip){
    header('location: http://www.mysite.com');
}
?>

кроме того, чтобы сохранить «IP-адрес исключения» на текущем сайте, правильно ли я кодирую?


person Ajr Ajr    schedule 20.07.2013    source источник


Ответы (1)


Я сделал это в конце концов. размещение IP-адреса исключения в массиве означает, что я могу добавить столько, сколько захочу. кроме того, $uri означает, что при перенаправлении он будет идти по тому же пути:

<?php
require_once($_SERVER['DOCUMENT_ROOT']."/geoip/geoip.inc");
$gi = geoip_open($_SERVER['DOCUMENT_ROOT']."/geoip/GeoIP.dat", GEOIP_MEMORY_CACHE);
$country = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
geoip_close($gi);
$useragent_country = array('gb');
$uri = $_SERVER['REQUEST_URI'];
$exception_ip = array("1.2.3.4.5");//ADD IPs here in array form

if(in_array($_SERVER['REMOTE_ADDR'], $exception_ip)){

//do nothing

}
else{
if (in_array(strtolower($country), $useragent_country)){
    header('location: http://www.mysite.co.uk$uri');//redirect to same path
    exit();
} 
}
?>
person Ajr Ajr    schedule 21.07.2013