открытие нового окна противодействует моему «forcece_auth» - PullRequest
0 голосов
/ 30 сентября 2010

В моей социальной сети. Существуют «домашние» ссылки, которые ведут к соответствующему индексу, если вы вошли в систему или вышли из нее. Существует "index.php", который, если вы просматриваете сайт, вышедший из системы, переводит вас туда, а если вы вошли в систему и нажимаете "home", вы переходите в "index_signedIn.php"

Это нормально работает для меня. Проблема заключается в том, что когда я закрываю окно и открываю его снова, оно отображается в «index.php», даже если вы вошли в систему, и может позволить вам продолжить в подписанном виде. Кто-то помог мне настроить init.php, и я не вижу там ничего, что могло бы быть связано с этим.

Если у вас есть идея, в чем может быть проблема, и вы хотите помочь, пожалуйста, дайте мне знать, какой код вам может понадобиться, если таковой имеется.

заранее спасибо

у меня в заголовке есть эти ссылки (и в нижнем колонтитуле тоже)

<div id="social_tag">
    <?php if($auth) { ?>
        <a href="index_signedIn.php"><img src="styles/images/social_tag.png" border="0" /></a>
    <?php }else{ ?>
        <a href="index.php"><img src="styles/images/social_tag.png" border="0" /></a>
    <?php } ?>
</div>

если время сеанса истекает, это происходит:

function enforce_auth() {
    global $auth;
    if(!$auth) {
        header("Location: signin.php?return=" . $_SERVER['REQUEST_URI']);
        exit;
    }
}

и это на страницах, на которые мы не хотим, чтобы люди могли заходить, если их выделили, и сейчас он сбрасывает вас в индекс (как и должно быть)

enforce_auth();

просто нужно, чтобы он переместился в index_signedIn.php, когда окно закроется и откроется, а вы все еще вошли в систему

1 Ответ

1 голос
/ 30 сентября 2010

Добавьте логику в начало index.php:

if(loggedin())
{
    header('Location:index_signedin.php');
    exit();
}

Замените loggedin () на любую логику, которую вы должны определить, вошел ли пользователь в систему.

...