+ Antworten
Seite 2 von 3 ErsteErste 1 2 3 LetzteLetzte
Ergebnis 11 bis 20 von 25

Thema: Login bei AstatsPRO nicht mehr möglich - Update 1.0.13

  1. #11
    Moderator Avatar von holmi
    Registriert seit
    30.08.2004
    Ort
    Harz
    Beiträge
    6.502
    Bedankte sich
    92
    Erhielt 1.234 Danksagungen
    in 1.133 Beiträgen

    Standard

    Zitat Zitat von joom_mob-i-co Beitrag anzeigen
    Ich muss erstmal selber schauen was sich geändert hat,
    Das ist der veränderte Bereich aus dem CB Patch.
    Ich konnte das für eine alte Seite problemelos von der 1.0.2 auf die 1.0.1 übertragen (Ja, ich weiß ich muss da mal Updaten ;-) )

    PHP-Code:
    $username trimmosGetParam$_POST'username''' ) );
                    
    $passwd trimmosGetParam$_POST'passwd''' ) );
                    
    //$passwd = md5( $passwd2 ); 

    PHP-Code:
                            // Doesn't work any more, the maintainer should really update this instead of advising reversal of installs
                /*$database->setQuery( "SELECT * "
                . "\nFROM #__users u, "
                . "\n #__comprofiler ue "
                . "\nWHERE u.username='".$username."' AND u.password='".$passwd."' AND u.id = ue.id"
                );
                $row = null;
                if ($database->loadObject( $row )) {*/
                // Lets borrow from Joomla! shall we?
                // query used for login via login module
                
    $query "SELECT *"
                
    "\n FROM #__users u,"
                
    "\n #__comprofiler ue "
                
    "\n WHERE u.username = "$database->Quote$username ) . " AND u.id = ue.id"
                
    ;

                
    $database->setQuery$query );
                
    $database->loadObject$row );

                if (
    is_object($row)) {
                    
    // user blocked from login
                    
    if ($row->block == 1) {
                        
    mosErrorAlert(_LOGIN_BLOCKED);
                    }

                    if (!
    $valid_remember) {
                        
    // Conversion to new type
                        
    if ((strpos($row->password':') === false) && $row->password == md5($passwd)) {
                            
    // Old password hash storage but authentic ... lets convert it
                            
    $salt mosMakePassword(16);
                            
    $crypt md5($passwd.$salt);
                            
    $row->password $crypt.':'.$salt;

                            
    // Now lets store it in the database
                            
    $query    'UPDATE #__users'
                                    
    ' SET password = '.$database->Quote($row->password)
                                    . 
    ' WHERE id = '.(int)$row->id;
                            
    $database->setQuery($query);
                            if (!
    $database->query()) {
                                
    // This is an error but not sure what to do with it ... we'll still work for now
                            
    }
                        }
                        list(
    $hash$salt) = explode(':'$row->password);
                        
    $cryptpass md5($passwd.$salt);
                        if (
    $hash != $cryptpass) {
                            if ( 
    $bypost ) {
                                
    mosErrorAlert(_LOGIN_INCORRECT);
                            } else {
                                die(
    'I like pie'$cryptpass);
                                
    $mainframe->logout();
                                
    mosRedirect('index.php');
                            }
                            exit();
                        }
                    } 
    Problem gelöst? Dann markiere den Thread mit [GELÖST]

  2. Erhielt Danksagungen von:


  3. #12
    Hat hier eine Zweitwohnung Avatar von progandy
    Registriert seit
    25.06.2007
    Beiträge
    1.929
    Bedankte sich
    13
    Erhielt 633 Danksagungen
    in 570 Beiträgen

    Standard

    Hier ist eine angepasste
    joomla\administrator\components\com_astatspro\incl udes\functions.inc.php.
    Damit sollte es funktionieren (bei mir ging es)
    Die veränderten Funktionen:
    PHP-Code:
    function chC_login$name$pw$cookie 0$admin_required FALSE )
    {
        global 
    $_CHC_DB;
            global 
    $_CHC_DBCONFIG;
            global 
    $database;

            if ( 
    $_CHC_DBCONFIG['use_external_users'] == TRUE ) {
            
    // Eigene Benutzerdaten
            
    $result $_CHC_DB->query(
                
    "SELECT "$_CHC_DBCONFIG['col_admin_guest'] ." , "$_CHC_DBCONFIG['col_userpw']."
                FROM `"
    CHC_DATABASE .'`.`'$_CHC_DBCONFIG['tables_users'] ."`
                WHERE
                    "
    $_CHC_DBCONFIG['col_username'] ." = '".$name."'
                AND "
    $_CHC_DBCONFIG['col_admin_guest'] ." > '0'"

            
    );
            if( 
    $_CHC_DB->num_rows$result ) >= ){
                    
    $row $_CHC_DB->fetch_assoc($result);
                    list(
    $hash$salt) = explode(':'$row['password']);
            
    $cryptpass = ($hash == $pw) ? $pw md5($pw.$salt);
            }

                    if( (
    $_CHC_DB->num_rows$result ) >= 1) && ($hash == $cryptpass) )
            {
                
    $row $_CHC_DB->fetch_assoc$result );
                
    $typ $row[$_CHC_DBCONFIG['col_admin_guest']];
                if ( 
    $typ '23' ) {
                    
    $typ 'admin';
                }
                else {
                    
    $typ 'guest';
                }


                if( 
    $admin_required == TRUE && $typ == 'guest' )
                {
                    return -
    1;
                }



                
    $_SESSION['CHC_LOGGED_IN'] = $typ;
                if( 
    $cookie == )
                {
                    
    setcookie'CHC_LOGIN'$name.'~'.md5($pw.$salt), time() + 25920000'/' );
                }
                return 
    $_SESSION['CHC_LOGGED_IN'];
            }
                    
    md5($pw);
            return -
    1;
            }
            else {
            
    // chCounter verwaltet die Benutzerdaten
                    
    md5($pw);
            
    $result $_CHC_DB->query(
                
    "SELECT setting
                FROM `"
    CHC_DATABASE .'`.`'CHC_TABLE_CONFIG ."`
                WHERE
                    (
                        ( setting = 'admin_name' AND value = '"
    .$name."' )
                        OR ( setting = 'admin_passwort' AND value = '"
    .$pw."' )
                    )
                    OR
                    (
                        ( setting = 'gast_name' AND value = '"
    .$name."' )
                        OR ( setting = 'gast_passwort' AND value = '"
    .$pw."' )
                    )"
            
    );

            if( 
    $_CHC_DB->num_rows$result ) == )
            {
                
    $row $_CHC_DB->fetch_assoc$result );
                
    $typ is_intstrpos$row['setting'], 'admin' ) ) ? 'admin' 'guest';

                if( 
    $admin_required == TRUE && $typ == 'guest' )
                {
                    return -
    1;
                }

                
    $_SESSION['CHC_LOGGED_IN'] = $typ;
                if( 
    $cookie == )
                {
                    
    setcookie'CHC_LOGIN'$name.'~'.$pwtime() + 25920000'/' );
                }
                return 
    $_SESSION['CHC_LOGGED_IN'];
            }
            return -
    1;
        }
    }

    function 
    chC_manage_login$admin_required FALSE )
    {
        if( !isset( 
    $_SESSION['CHC_LOGGED_IN'] ) )
        {
            
    $login 0;
            if( isset( 
    $_POST['login_form'] ) ) // Login per Form
            
    {
                
    $_POST['login_cookie'] = ( isset( $_POST['login_cookie'] ) ) ? 0;
                if( !empty( 
    $_POST['login_name'] ) )
                {
                    
    $login chC_login$_POST['login_name'], ( $_POST['login_pw'] ), $_POST['login_cookie'], $admin_required );
                }
                else
                {
                    
    $login = -1;
                }
            }
            elseif( isset( 
    $_GET['user'] ) && isset( $_GET['pw'] ) ) // Login per URL
            
    {
                if( !empty( 
    $_GET['user'] ) )
                {
                    
    $login chC_login$_GET['user'], ( $_GET['pw'] ), isset( $_GET['cookie'] ) ? 0$admin_required );
                }
                else
                {
                    
    $login = -1;
                }
            }
            elseif( isset( 
    $_COOKIE['CHC_LOGIN'] ) )    // automatisches Cookie-Login
            
    {
                
    $name substr(
                    
    $_COOKIE['CHC_LOGIN'],
                    
    0,
                    
    strrpos$_COOKIE['CHC_LOGIN'], '~' )
                );
                if( !empty( 
    $name ) )
                {
                    
    $pw str_replace$name .'~'''$_COOKIE['CHC_LOGIN'] );
                    
    $login chC_login$name$pw1$admin_required );
                }
                else
                {
                    
    $login = -1;
                }
            }
            if( 
    $login != )
            {
                
    $login = ( $login === FALSE ) ? -$login;
            }
        }
        return isset( 
    $login ) ? $login 2// 0: kein einloggversuch. -1: einloggen fehlerhaft; 'admin'|'guest': einloggen erfolgreich; 2: bereits eingeloggt;

    Angehängte Dateien

  4. Erhielt Danksagungen von:


  5. #13
    Gehört zum Inventar Avatar von Marcus77
    Registriert seit
    17.02.2006
    Ort
    Stettenhof
    Beiträge
    5.056
    Bedankte sich
    76
    Erhielt 1.012 Danksagungen
    in 987 Beiträgen

    Standard

    Habs soeben auch so gelöst !


    PHP-Code:
    // Doesn't work any more, the maintainer should really update this instead of advising reversal of installs 
                /*$database->setQuery( "SELECT * " 
                . "\nFROM #__users u, " 
                . "\n #__comprofiler ue " 
                . "\nWHERE u.username='".$username."' AND u.password='".$passwd."' AND u.id = ue.id" 
                ); 
                $row = null; 
                if ($database->loadObject( $row )) {*/ 
                // Lets borrow from Joomla! shall we? 
                // query used for login via login module 
                
    $query "SELECT *" 
                
    "\n FROM #__users u," 
                
    "\n #__comprofiler ue " 
                
    "\n WHERE u.username = "$database->Quote$username ) . " AND u.id = ue.id" 
                


                
    $database->setQuery$query ); 
                
    $database->loadObject$row ); 

                if (
    is_object($row)) { 
                    
    // user blocked from login 
                    
    if ($row->block == 1) { 
                        
    mosErrorAlert(_LOGIN_BLOCKED); 
                    } 

                    if (!
    $valid_remember) { 
                        
    // Conversion to new type 
                        
    if ((strpos($row->password':') === false) && $row->password == md5($passwd)) { 
                            
    // Old password hash storage but authentic ... lets convert it 
                            
    $salt mosMakePassword(16); 
                            
    $crypt md5($passwd.$salt); 
                            
    $row->password $crypt.':'.$salt

                            
    // Now lets store it in the database 
                            
    $query    'UPDATE #__users' 
                                    
    ' SET password = '.$database->Quote($row->password
                                    . 
    ' WHERE id = '.(int)$row->id
                            
    $database->setQuery($query); 
                            if (!
    $database->query()) { 
                                
    // This is an error but not sure what to do with it ... we'll still work for now 
                            

                        } 
                        list(
    $hash$salt) = explode(':'$row->password); 
                        
    $cryptpass md5($passwd.$salt); 
                        if (
    $hash != $cryptpass) { 
                            if ( 
    $bypost ) { 
                                
    mosErrorAlert(_LOGIN_INCORRECT); 
                            } else { 
                                die(
    'I like pie'$cryptpass); 
                                
    $mainframe->logout(); 
                                
    mosRedirect('index.php'); 
                            } 
                            exit(); 
                        } 
                    } 
    (Sofern dir meine Antwort geholfen hat, drücke einfach LINKS den "DANKE" - BUTTON)

  6. Erhielt Danksagungen von:


  7. #14
    Hat hier eine Zweitwohnung Avatar von JoomDesign
    Registriert seit
    19.03.2006
    Ort
    Berlin, Deutschland
    Beiträge
    1.927
    Bedankte sich
    269
    Erhielt 594 Danksagungen
    in 511 Beiträgen

    Standard

    Zitat Zitat von progandy Beitrag anzeigen
    Hier ist eine angepasste
    joomla\administrator\components\com_astatspro\incl udes\functions.inc.php.
    Damit sollte es funktionieren (bei mir ging es)
    Bei mir geht aber nur das Aufrufen der Statistik und nicht der Einstellungen und Log-Daten. Außerdem setzt er kein Cookie.
    Ist das bei Dir auch so?

    Schaue mir das gerade mal an, kann aber noch nicht genau sagen wo der Fehler ist.

    Danke für die Mühe.

  8. Erhielt Danksagungen von:


  9. #15
    Neu an Board
    Registriert seit
    14.08.2006
    Beiträge
    50
    Bedankte sich
    8
    Erhielt 4 Danksagungen
    in 4 Beiträgen

    Standard

    Also bei geht es nicht richtig. Ich kann mich einloggen aber wenn ich z.B. auf Log Data gehe fragt er mich nochmal nach meinem Login trotz Cookie. Gebe ich die Daten ein dann nimmt er diese nicht an.

    Edit: Da war ich wohl zu langsam.

  10. Erhielt Danksagungen von:


  11. #16
    War schon öfter hier Avatar von yaqwer
    Registriert seit
    27.05.2007
    Beiträge
    151
    Bedankte sich
    25
    Erhielt 41 Danksagungen
    in 33 Beiträgen

    Standard

    Da habt ihr Recht!
    Bei mir funzt das Einloggen in die Statistik, aber das Login in die LogData und Settings klappt nicht!

    MfG yaqwer

  12. #17
    Hat hier eine Zweitwohnung Avatar von progandy
    Registriert seit
    25.06.2007
    Beiträge
    1.929
    Bedankte sich
    13
    Erhielt 633 Danksagungen
    in 570 Beiträgen

    Standard

    Hab noch mal rumgebastelt, jetzt geht es bei mir.

    //Edit: Quellcode bereinigt und Diff-Datei hinzugefügt (Änderungen aufgezeigt)
    Angehängte Dateien


  13. #18
    Hat hier eine Zweitwohnung Avatar von JoomDesign
    Registriert seit
    19.03.2006
    Ort
    Berlin, Deutschland
    Beiträge
    1.927
    Bedankte sich
    269
    Erhielt 594 Danksagungen
    in 511 Beiträgen

    Standard

    Zitat Zitat von progandy Beitrag anzeigen
    Hab noch mal rumgebastelt, jetzt geht es bei mir.
    Super DANKE. Funktioniert prima.

  14. #19
    War schon öfter hier Avatar von Diva2507
    Registriert seit
    22.04.2006
    Ort
    Hannover
    Beiträge
    122
    Bedankte sich
    27
    1 Danksagung in 1 Beitrag

    Standard Super hat geklappt

    Hi Leute,
    bin ein großer Fan von AstatsPro! Super mit der function.inc.php klappt es bei mir auch!
    Vielen Dank für Eure Mühe!!!
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Joomla 1.5.7 stable ||PHP Version: 5.0
    Webhoster:All-Inklusiv||MYSQL 4.1

  15. #20
    Neu an Board
    Registriert seit
    25.08.2007
    Beiträge
    1
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Sorry, wenn ich mich an den alten Thread mit dran hänge, aber hier ist wohl das Codefragment zu finden, das mich etwas verwundert.

    Erstmal möchte ich sagen, dass ich von PHP-Code nicht viel Ahnung habe, kann sein, dass sich meine Frage von jemandem, der sich auskennt, schnell beantworten lässt.

    Also, beim Einloggen in eine Joomlaseite kommt öfter (ca. 1 mal die Woche, manchmal seltener) die Meldung "I like pief2df664900031236d500a40b5159e8e3". Nicht in einem Extra Fenster, sondern eine leere, weiße Seite im Browser und nur der Text.

    So wie ich den Code von weiter oben verstandne habe handelt es sich um ein falsches Passwort. Wenn das Passwort falsch eingegeben wurde, wird wieder auf die index.php weitergeleitet und man kann sich wieder einloggen.

    Hier der Codeabschnitt, in dem es wohl darum geht:

    Zitat Zitat von holmi Beitrag anzeigen
    $cryptpass = md5($passwd.$salt);
    if ($hash != $cryptpass) {
    if ( $bypost ) {
    mosErrorAlert(_LOGIN_INCORRECT);
    } else {
    die('I like pie'. $cryptpass);
    $mainframe->logout();
    mosRedirect('index.php');
    }
    Ich bekomme aber dazwischen eine leere weße Seite angezeigt, auf der "I like pief2df664900031236d500a40b5159e8e3" steht. Kein Lik zur Startseite, nichts.

    Es ist jetzt kein großes Problem, es verwundert mich nur und ich würde gerne wissen, woran das liegt. Beim suchen hab ich nichts passendes gefunden, wenn ich was übersehen hab, sorry für die Mühe. Meine Suche hat michnur auf diesen Thread geführt, kann sein, das es sich um etwas ganz anderes habelt.

    Ich verwende Joomla 1.0.13 Stable.

+ Antworten
Seite 2 von 3 ErsteErste 1 2 3 LetzteLetzte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein