Erweiterungen & Templates für Joomla     Support Chat     JoomlaJobs    

   

 

Zurück   Joomla CMS Support Forum > Joomla 1.0x > Joomla Komponenten > Gelöste Themen - Joomla Komponenten
Benutzername
Kennwort
Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Ansicht

  #11 (permalink)
Alt 23.07.2007, 18:03
Moderator
 
Benutzerbild von holmi
 
Registriert seit: 30.08.2004
Ort: Harz
Beiträge: 6,486
Bedankte sich: 91
1,226 Danksagungen in 1,128 Beiträgen
holmi eine Nachricht über ICQ schicken holmi eine Nachricht über Skype™ schicken
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]
holmi ist offline   Mit Zitat antworten
Erhielt Danksagungen von:
  #12 (permalink)
Alt 23.07.2007, 18:45
Joomlapapst
 
Benutzerbild von progandy
 
Registriert seit: 25.06.2007
Beiträge: 997
Bedankte sich: 2
317 Danksagungen in 280 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
Dateityp: zip functions.inc.zip (9.4 KB, 130x aufgerufen)
progandy ist gerade online   Mit Zitat antworten
Erhielt Danksagungen von:
  #13 (permalink)
Alt 24.07.2007, 11:06
Premium Supporter
 
Registriert seit: 17.02.2006
Beiträge: 2,094
Bedankte sich: 59
295 Danksagungen in 287 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, freu ich mich auf Deine DANKSAGUNG)
Marcus77 ist offline   Mit Zitat antworten
Erhielt Danksagungen von:
  #14 (permalink)
Alt 24.07.2007, 12:03
Premium Supporter
 
Benutzerbild von joom_mob-i-co
 
Registriert seit: 19.03.2006
Ort: in Deutschland
Beiträge: 1,289
Bedankte sich: 110
389 Danksagungen in 333 Beiträgen
joom_mob-i-co eine Nachricht über AIM schicken joom_mob-i-co eine Nachricht über MSN schicken joom_mob-i-co eine Nachricht über Skype™ schicken
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.
joom_mob-i-co ist offline   Mit Zitat antworten
Erhielt Danksagungen von:
  #15 (permalink)
Alt 24.07.2007, 12:06
Joomlaianer
 
Registriert seit: 14.08.2006
Beiträge: 50
Bedankte sich: 8
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.
Centrino ist offline   Mit Zitat antworten
Erhielt Danksagungen von:
  #16 (permalink)
Alt 24.07.2007, 17:23
Joomla Supporter
 
Benutzerbild von yaqwer
 
Registriert seit: 27.05.2007
Beiträge: 143
Bedankte sich: 17
36 Danksagungen in 29 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
yaqwer ist offline   Mit Zitat antworten
  #17 (permalink)
Alt 25.07.2007, 11:39
Joomlapapst
 
Benutzerbild von progandy
 
Registriert seit: 25.06.2007
Beiträge: 997
Bedankte sich: 2
317 Danksagungen in 280 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
Dateityp: zip functions.inc.zip (25.7 KB, 587x aufgerufen)
progandy ist gerade online   Mit Zitat antworten
  #18 (permalink)
Alt 25.07.2007, 11:53
Premium Supporter
 
Benutzerbild von joom_mob-i-co
 
Registriert seit: 19.03.2006
Ort: in Deutschland
Beiträge: 1,289
Bedankte sich: 110
389 Danksagungen in 333 Beiträgen
joom_mob-i-co eine Nachricht über AIM schicken joom_mob-i-co eine Nachricht über MSN schicken joom_mob-i-co eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von progandy Beitrag anzeigen
Hab noch mal rumgebastelt, jetzt geht es bei mir.
Super DANKE. Funktioniert prima.
joom_mob-i-co ist offline   Mit Zitat antworten
  #19 (permalink)
Alt 28.07.2007, 17:50
Joomla Supporter
 
Benutzerbild von Diva2507
 
Registriert seit: 22.04.2006
Ort: Hannover
Beiträge: 122
Bedankte sich: 27
1 Danksagung in 1 Beitrag
Diva2507 eine Nachricht über ICQ schicken Diva2507 eine Nachricht über AIM schicken Diva2507 eine Nachricht über MSN schicken
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
Diva2507 ist offline   Mit Zitat antworten
  #20 (permalink)
Alt 25.08.2007, 12:26
Joomla Newbie
 
Registriert seit: 25.08.2007
Beiträge: 1
Bedankte sich: 0
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.
fesl ist offline   Mit Zitat antworten
Werbung
Antwort


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht




Alle Zeitangaben in WEZ +1. Es ist jetzt 14:27 Uhr.

Powered by vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
vBulletin Style by: vbdesigns.de
Copyright 2005 by Stefan Köller