IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   Как лучше сделать redirect c login form (https://www.imho.ws/showthread.php?t=67025)

NarcomBAT 26.08.2004 15:20

Как лучше сделать redirect c login form
 
есть сайт на которм нужна авторизация. например как на этом форуме
т.е. вы можете ходить по сайту и влюбой момент можете залогиниться при этом Вас бросает на login.php а затем при успешной авторизации обратно на
ту страницу на корой Вы были раньше.

вопрос какой способ лучше использовать:
1. смотреть в global $_SERVER['HTTP_REFERER']
2. создать session например $_SESSION['REFR'] и хранить там имя предудущей страницы
3. использовать JavaScript что то типа document.referer

да и еще вопрос какой способ использует vBulletin?

Hubbitus 26.08.2004 15:40

А собственно разница-то какая, главное чтобы все работало правильно. Не все сервера станавливают правильно $_SERVER['HTTP_REFERER'], поэтому надежнее хранить откуда пришел по своей переменной: или в сессии, как указали в примере, или просто передавать переменную... На JS тоже лучше особенно не рассчитывать - а вдруг он отключен у пользователя?.

Получается что 2) лучше всего (и его вариации)
Цитата:

NarcomBAT:
да и еще вопрос какой способ использует vBulletin?
Дак посмотрите в исходниках.

shuron 26.08.2004 17:47

Цитата:

Сообщение от NarcomBAT
есть сайт на которм нужна авторизация. например как на этом форуме
т.е. вы можете ходить по сайту и влюбой момент можете залогиниться при этом Вас бросает на login.php а затем при успешной авторизации обратно на
ту страницу на корой Вы были раньше.

вопрос какой способ лучше использовать:
1. смотреть в global $_SERVER['HTTP_REFERER']
2. создать session например $_SESSION['REFR'] и хранить там имя предудущей страницы
3. использовать JavaScript что то типа document.referer

да и еще вопрос какой способ использует vBulletin?

Session ispolsuj, prosto i nadeschno

NarcomBAT 27.08.2004 13:06

vBulletin использует $_SERVER['HTTP_REFERER']
в файле login.php используется переменная $url как адрес referer

как я понял она определяется в файле includes\init.php
вот кусок кода лде она определяется
vBulletin version 3.0.0, includes\init.php, start line 319

PHP код:

define('REFERRER'$_SERVER['HTTP_REFERER']);

define('SAPI_NAME'php_sapi_name());

if (empty(
$_REQUEST['url']))
{
    
$url REFERRER;
}
else
{
    if (
$_REQUEST['url'] == REFERRER)
    {
        
$url 'index.php';
    }
    else
    {
        
$url = &$_REQUEST['url'];
    }
}
if (
$url == SCRIPTPATH OR empty($url))
{
    
$url 'index.php';
}
$url xss_clean($url);

define ('REFERRER_PASSTHRU'$url); 

одно только вот непонятно зачем сравнивать $url и SCRIPTPATH


Часовой пояс GMT +4, время: 13:43.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.