Skip to content
This repository has been archived by the owner on Nov 3, 2023. It is now read-only.

3.0.3 Anmeldung Backend mit falschem Passwort #5432

Closed
georgi56 opened this issue Feb 25, 2013 · 22 comments
Closed

3.0.3 Anmeldung Backend mit falschem Passwort #5432

georgi56 opened this issue Feb 25, 2013 · 22 comments

Comments

@georgi56
Copy link

Wenn versehentlich ein falsches Passwort eingegeben wird, erhält man bei dem zweiten (dann mit richtigem PW) folgenden Meldung:

Warning: array_filter() expects parameter 1 to be array, boolean given in /var/www/web428/html/test/system/modules/core/classes/BackendUser.php on line 384

#0 [internal function]: __error(2, 'array_filter() ...', '/var/www/web428...', 384, Array)
#1 /var/www/web428/html/test/system/modules/core/classes/BackendUser.php(384): array_filter(false)
#2 /var/www/web428/html/test/system/modules/core/library/Contao/User.php(338): Contao\BackendUser->setUserFromDb()
#3 /var/www/web428/html/test/contao/index.php(53): Contao\User->login()
#4 /var/www/web428/html/test/contao/index.php(126): Index->__construct()
#5 {main}

Warning: Cannot modify header information - headers already sent by (output started at /var/www/web428/html/test/system/helper/functions.php:69) in /var/www/web428/html/test/system/modules/core/library/Contao/System.php on line 653

#0 [internal function]: __error(2, 'Cannot modify h...', '/var/www/web428...', 653, Array)
#1 /var/www/web428/html/test/system/modules/core/library/Contao/System.php(653): setcookie('BE_USER_AUTH', '8358c9bbfba6cad...', 1361775788, '/', '', false, true)
#2 /var/www/web428/html/test/system/modules/core/library/Contao/User.php(472): Contao\System::setCookie('BE_USER_AUTH', '8358c9bbfba6cad...', 1361775788, NULL, NULL, false, true)
#3 /var/www/web428/html/test/system/modules/core/library/Contao/User.php(347): Contao\User->generateSession()
#4 /var/www/web428/html/test/contao/index.php(53): Contao\User->login()
#5 /var/www/web428/html/test/contao/index.php(126): Index->__construct()
#6 {main}

Nach aktualisieren im Browser startet das BE aber wie gewohnt.

@leofeyer
Copy link
Member

Lässt sich das in der Onlinedemo reproduzieren?

@georgi56
Copy link
Author

Leider nein. Ich habe eine manuelle Installation (1und1) und eine one-Klick Installation (alfahosting). Und bei beiden ist das der Fall.

@leofeyer
Copy link
Member

Läuft eventuell mod_security (Apache-Modul)?

@georgi56
Copy link
Author

Ich bin in dieser Sache kein Fachmann. Ich habe mal

laufen lassen und nach mod_security gesucht, aber Fehlanzeige. Soll ich al den Hoster fragen?

(Ich kann mit der Fehlermeldung leben, da ich mzuhause mein BN und PW gespeichert habe, aber im Büro nicht und wenn ich mich da mal vertippe, dann kommt das)

Wie soll ich vorgehen?

Gruß Georgi

@georgi56
Copy link
Author

Ich habe vom Hoster folgende Antwort erhalten:

mod_security ist fester Bestandteil der Webhostingtarife und kann nicht deaktiviert werden.

@leofeyer
Copy link
Member

Dann kennen wir jetzt zumindest die Ursache des "Problems". Da die Anmeldung aber trotzdem funktioniert, können wir es dabei belassen.

@NinaG
Copy link

NinaG commented Mar 11, 2013

Hab das gleiche Problem auch gerade erlebt -> Hoster All-Inkl mit einer Contao 3.0.3

@georgi56
Copy link
Author

2.11.9 alles ok (1und1)

Fehler bei 3.0.3 (1und1) und 3.0.5 (alfahosting; mod_security)

Das ist irgendwie nicht optimal, wenn man (oder ein Redakteur) sich falsch anmeldet hat und anschließend mit einer Fehlermeldung "begrüßt" wird.

@leofeyer
Copy link
Member

Bitte füge mal in der Datei system/modules/core/classes/BackendUser.php folgenden Code in Zeile 384 ein:

else
{
    dump($this->pagemounts);exit; // <-- DIESE ZEILE IST EINZUFÜGEN
    $this->pagemounts = array_filter($this->pagemounts);
}

Das Ergebnis des Dumps bitte hier posten.

@georgi56
Copy link
Author

Ergebnis (unter 3.0.5):

Array
(
)

@leofeyer
Copy link
Member

Ja, sorry, mein Fehler. Natürlich interessiert und das Ergebnis erst beim zweiten Anmeldeversuch, wenn die Fehlermeldung ausgegeben wird. Bitte verwende daher folgenden Code:

else
{
    ob_start();
    dump($this->pagemounts);
    $buffer = ob_get_contents();
    ob_end_clean();
    $fh = fopen(TL_ROOT . '/test.txt', 'ab');
    fputs($fh, $buffer . "\n\n");
    fclose($fh);

    $this->pagemounts = array_filter($this->pagemounts);
}

Dann wiederhole bitte die Anmeldung, so dass die Fehlermeldung ausgegeben wird, und poste anschließend den Inhalt der Datei test.txt aus dem Wurzelverzeichnis der Installation hier.

@georgi56
Copy link
Author

test.txt hat nach der wiederholten Anmeldung folgenden Inhalt:

Array
(
)
Array
(
)
Array
(
)

jeweils mit pre

@leofeyer
Copy link
Member

Komisch, denn die Fehlermeldung besagt ja eindeutig:

Warning: array_filter() expects parameter 1 to be array, boolean given

Es müsste also ein Boolean sein. Hast Du den Code auch in Zeile 384 eingefügt? Und ist die Fehlermeldung ausgegeben worden?

@georgi56
Copy link
Author

Ja in Zeile 384, alles nochmal überprüft und folge Fehlermeldung:

Warning: array_filter() expects parameter 1 to be array, boolean given in …/system/modules/core/classes/BackendUser.php on line 392

#0 [internal function]: __error(2, 'array_filter() ...', '/var/www/web428...', 392, Array)
#1 …/system/modules/core/classes/BackendUser.php(392): array_filter(false)
#2 …/system/modules/core/library/Contao/User.php(338): Contao\BackendUser->setUserFromDb()
#3 …/contao/index.php(53): Contao\User->login()
#4 …/contao/index.php(126): Index->__construct()
#5 {main}

Warning: Cannot modify header information - headers already sent by (output started at /var/www/web428/html/test/system/helper/functions.php:69) in …/system/modules/core/library/Contao/System.php on line 640

#0 [internal function]: __error(2, 'Cannot modify h...', '/var/www/web428...', 640, Array)
#1 …/system/modules/core/library/Contao/System.php(640): setcookie('BE_USER_AUTH', 'f20daa9bbdb920f...', 1363286671, '/', '', false, true)
#2 …/system/modules/core/library/Contao/User.php(472): Contao\System::setCookie('BE_USER_AUTH', 'f20daa9bbdb920f...', 1363286671, NULL, NULL, false, true)
#3 …/system/modules/core/library/Contao/User.php(347): Contao\User->generateSession()
#4 …/contao/index.php(53): Contao\User->login()
#5 …/contao/index.php(126): Index->__construct()
#6 {main}

Wenn du noch ne Idee hast, ich teste gern. Ist ja misslich, wenn sich ein Redakteur vertippt und eine Fehlermeldung erhält. Ich kann damit leben, aber schön ist es nicht.

@leofeyer
Copy link
Member

Kannst Du mir einen Backend-Zugang einrichten und per E-Mail schicken bitte?

@leofeyer
Copy link
Member

In der Testinstallation kann ich den Fehler aber leider auch nicht reproduzieren (?).

@georgi56
Copy link
Author

Bei mir ja:
Richtigen Benutzernamen eingeben,
dann PW: 123 oder irgendetas anderes
Anmelden.
Es kommt Fehlerhinweis.
Dann Richtigen Benutzernamen und richtiges PW eingeben und schon kommt der Fehler.

@leofeyer
Copy link
Member

Hab es eben noch einmal versucht, aber es bleibt dabei, dass der Fehler nicht auftritt. Was für einen Browser verwendest Du denn?

@georgi56
Copy link
Author

Jetzt bin aber ratlos: ich nutze Firefox und ie8 un ie9, aber jetzt kommt's
Wenn ich mich unter meinem Account falsch anmelde, bekomme ich im zweiten Durchgang die Fehlermeldung.
Wenn ich das aber mit deinem Account durchführe ist alles ok. Somit ist der Fehler für dich nicht repuduzierbar.
Das muss also mit meinem Account, übrigens auch für einen Redakteur zusammenhängen. Vielleicht traut sich das System bei dir nicht zu Zicken ;-)

@leofeyer
Copy link
Member

Klar, Du hast mich vermutlich als Administrator angelegt. Ich leg mir selbst eben einen Redakteur an und wiederhole den Test. An was man nicht alles denken muss :)

@georgi56
Copy link
Author

Vielleicht gelöst!?
Ich habe jetzt nur mal zum Spaß die "BackendUser.php" aus der soeben erschienenen 3.0.6 aufgeladen: Damit kommt die Fehlermeldung nicht mehr! Vielleicht war's das. Ich bin heute nur durch Zufall darauf gestoßen, weil ich das Problem mit den verlorenen filemounts auch habe: #5083

Ich habe die 3.0.5 aber wieder zurückgespielt (Folge=>Fehlermeldung wieder da), falls du noch testen willst.

@leofeyer
Copy link
Member

Nein, das Ticket ist damit abgeschlossen ;)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants