[PHP] Login von einem CMS Zugriff Fehler

Dieses Thema im Forum "Webentwicklung" wurde erstellt von CeZa, 5. Mai 2011 .

Schlagworte:
  1. 5. Mai 2011
    Login von einem CMS Zugriff Fehler

    Hallo,

    habe ein CMS Gefunden und dort ist wahrscheinlich die Logindatei Problematisch Programmiert denn wenn man sich mal einloggt bleibt er paar min drin halt die sitzung wenn die mal abläuft Fliegt man raus ist ganz okai, aber danach kommt man nicht mehr rein man kann sich nicht einloggen der sagt immer zugriff verweigert irgendwann im Tage klappt es wieder kann jemand sagen woran es liegen kann ?
    Habe die login datei mal hier drin..


    PHP:
    <? PHP
    require( "global_head.php" );

    unset(
    $_GET [ 'user_pw' ],  $_GET [ 'user_name' ],  $user_pw $user_name );

    $tpl -> get ( "message" "message" ); 

    $password  md5 ( addslashes ( strip_tags ( $_POST [ 'user_pw' ])));
    $username  addslashes ( strip_tags ( $_POST [ 'user_name' ]));

    //Prüft ob Userdaten richtig sind
    $proof_login  $db -> query ( "SELECT userid, username, password, rights FROM user WHERE username=' $username ' AND password=' $password '" );
        
    $log  $db -> fetch_array ( $proof_login );        
        
    $is_there_any_user  $db -> num_rows ( $proof_login );

    //Prüft, ob schon eine Session besteht
    //Damit sich nicht 2 gleichzeitig mit einem Account einloggen
    $proof_session  $db -> query ( "SELECT userid FROM sessions WHERE userid='" . $log [ 'userid' ]. "'" );        
        
    $is_there_any_session  $db -> num_rows ( $proof_session );
            
    if(
    $is_there_any_user  !=  &&  $is_there_any_session  ==  0 )
    {                        
        
    $_SESSION [ 'login' ] =  TRUE ;
        
    $_SESSION [ 'user_id' ] =  $log [ 'userid' ];
        
    $_SESSION [ 'user_name' ] =  $log [ 'username' ];
        
    $_SESSION [ 'user_rights' ] =  $log [ 'rights' ];
                
        
    $time  time ();
        
    $session_id  session_id ();
        
    $new_session  $db -> query ( "INSERT INTO sessions (userid,sid,time,rights) VALUES('" . $log [ 'userid' ]. "',' $session_id ',' $time '," . $log [ 'rights' ]. ")" );          

        
    setcookie ( $log [ 'userid' ],  $session_id );

        
    $tpl -> set_var ( "headline" $lang -> get ( "LANG_HEADLINE_LOGIN_RIGHT" ));
        
    $tpl -> set_var ( "message" $lang -> get ( "LANG_MESSAGE_LOGIN_RIGHT" ));
        
        
    $tpl -> set_var ( "meta_refresh" '<meta http-equiv="refresh" content="2; url=acp_index.php">' );
    }
    else
    {
        
    $tpl -> set_var ( "headline" $lang -> get ( "LANG_HEADLINE_LOGIN_FALSE" ));
        
    $tpl -> set_var ( "message" $lang -> get ( "LANG_MESSAGE_LOGIN_FALSE" ));
        
        
    $tpl -> set_var ( "meta_refresh" '<meta http-equiv="refresh" content="2; url=index.php">' );
    }

    require(
    "global_foot.php" );
    ?>
    Danke
     
  2. 5. Mai 2011
    AW: Login von einem CMS Zugriff Fehler

    was kommt den bei
    PHP:
    print_r ( $is_there_any_user );
    print_r ( $is_there_any_session );
    kann es sein, dass die session in der datenbank nicht entfernt wird, wenn man sich ausloggt?
    $is_there_any_session muss == 0 sein.
    sonst entferne die && anweisung
    PHP:
    if( $is_there_any_user  !=  &&  $is_there_any_session  ==  0

    in

    if( $is_there_any_user  !=  0

    ...

     
  3. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.