PHP перенаправление на основе IP и реферера - PullRequest
0 голосов
/ 23 мая 2011

Я пытаюсь перенаправить пользователей в моей сети на определенную целевую страницу на нашем сайте, основанную на их IP-адресе и пустом реферере. Этот код работает, но он заканчивается циклом перенаправления. Как выйти из цикла перенаправления, чтобы правильно перенаправить пользователя? Спасибо!

$visitor = $_SERVER['HTTP_REFERER'];
$clientip = $_SERVER['REMOTE_ADDR'];
$ip = a regex list of IPs;
if (empty($visitor))
{
    if (preg_match($ip, $clientip)) {
        header('Location: http://example.com');
            die();
            } 
}

1 Ответ

3 голосов
/ 23 мая 2011

Добавьте сеанс тому пользователю, который, как вы знаете, уже перенаправлен:

session_start();
$visitor = $_SERVER['HTTP_REFERER'];
$clientip = $_SERVER['REMOTE_ADDR'];
$ip = a regex list of IPs;
if (empty($visitor))
{

    //add on if they did not redirect yet.
    if (preg_match($ip, $clientip) && 
        (!isset($_SESSION['redirect']) || !$_SESSION['redirect'])) {
        $_SESSION['redirect'] = true;
        header('Location: http://example.com');
        die();
    } 

}
...