Самопальная авториция в Ipb 2.3.4 и глюки

Discussion in 'PHP' started by blaga, 21 Jul 2008.

  1. blaga

    blaga Elder - Старейшина

    Joined:
    23 Mar 2006
    Messages:
    884
    Likes Received:
    273
    Reputations:
    106
    Доброго времени суток.
    Мне тут нужно было одну фичу замутить как дополнение к форуму IPB 2,3,4 и я оттуда выдирал авторизацию... ну что бы совместить мой проект и форум, и что бы сессия норм. подхватывалась.
    Ну вроде как сделал все, тока вот косяк в том что теперь когда под оперой сижу захожу например по ссылке index.php? и меня кидает почему то в профиль. А иногда по ссылке index.php?act=idx а по index.php? все нормально. Короче переадресация какаято странная прыгает по этим ссылкам. И еще иногда когда я по ним хожу у меня почему то теряется сессия и я оказываюсь гостем...
    Вот код который у меня работает на стороне как аторизация.
    PHP:
    <?php
    Error_Reporting
    (E_ALL^E_NOTICE);


    require_once( 
    '../init.php' );

    require_once 
    ROOT_PATH   "conf_global.php";

    require_once 
    ROOT_PATH   "sources/ipsclass.php";
    require_once 
    ROOT_PATH   "sources/classes/class_display.php";
    require_once 
    ROOT_PATH   "sources/classes/class_session.php";
    require_once 
    KERNEL_PATH "class_converge.php";


    $ipsclass       = new ipsclass();
    $ipsclass->vars $INFO;

    $ipsclass->init_db_connection();

    $ipsclass->print            =  new display();
    $ipsclass->print->ipsclass  =& $ipsclass;

    $ipsclass->sess             =  new session();
    $ipsclass->sess->ipsclass   =& $ipsclass;

    $ipsclass->converge = new class_converge$ipsclass->DB );

    //--------------------------------
    //  Initialize the FUNC
    //--------------------------------

    $ipsclass->initiate_ipsclass();

    //--------------------------------
    //  The rest :D
    //--------------------------------

    $ipsclass->member     $ipsclass->sess->authorise();
    $ipsclass->lastclick  $ipsclass->sess->last_click;
    $ipsclass->location   $ipsclass->sess->location;
    $ipsclass->session_id $ipsclass->sess->session_id// Used in URLs
    $ipsclass->my_session $ipsclass->sess->session_id// Used in code


    require_once( ROOT_PATH.'sources/action_public/login.php' );

    print_r ($ipsclass->member);

    if(
    $ipsclass->member['name'] == "Guest" or $ipsclass->member['id'] == "0" or $ipsclass->member['email'] == "")
    {
        echo 
    "<br /><h2>Вы гость!</h2>";
    }
    else
    {
        echo 
    "<br /><h2>Здравствуйте, ".$ipsclass->member['name']."!</h2>";
    }

    ?>
    У кого какие мысли по сабжу?
     
  2. Helios

    Helios Elder - Старейшина

    Joined:
    14 Jan 2007
    Messages:
    414
    Likes Received:
    180
    Reputations:
    103
    По поводу перенаправлений странных - проверь наличие хидеров Location в либах авторизации, возможно там какая-то косая логика. Также посмотри как двиг получает параметр act, там может быть указание дефолтного значения. Где-то скопипастил - лови баг.

    По поводу потери сессий - полазь по сайту, постоянно проверяя какие кукисы он тебе выдает. Дело в том, что у браузеров есть квота на количество кукисов с одного сайта. Когда она превышена, новый кукис пишется вместо самомго старого. Возможно у тебя таким образом затирается PHPSESSID
     
    1 person likes this.
  3. blaga

    blaga Elder - Старейшина

    Joined:
    23 Mar 2006
    Messages:
    884
    Likes Received:
    273
    Reputations:
    106
    Helios, форум свежий тока установленный никаких фиговин не доставлял все по дефолту....
    Но вообще спасибо за попытку. Погляжу по направлениям...