Admin-Login funktioniert nicht

Hallo zusammen,

ich habe in einem Live-Shop ein Problem mit Backend-Login.

Folgendes habe ich ausprobiert:
[ol]
[li]Passwort-Reset über Frontend-Funktion “Passwort vergessen”
[/li][li]Passwort-Reset über MySQL mittels MD5( CONCAT( [PlainPassword], UNHEX( [OXPASSSALT] ) ) )
[/li][li]TMP-Ordner geleert
[/li][/ol]

Hat alles nichts gebracht…

Es wurde kein Update oder sonstiges gemacht.

Biete um Hilfe… Danke im Voraus!

Grüße
Proteus

versuch mal dich mit einem neuen Konto im Shop anzumelden und dann kannst du per mysql DB die admin flag setzen und im backend einloggen

Dies habe ich bereits ohne Erfolg ausprobiert.

hmmm das ist aber komisch.
sicher, dass das dein Shop ist? :slight_smile:

sonst könntest du dann password und passwordsalt aus dem neuregistriertem Konto in das alte Admin Konto einfügen

Oder die Zeile mit der Passwortüberprüfung kurz auskommentieren

[QUOTE=vanilla thunder;94057]

Oder die Zeile mit der Passwortüberprüfung kurz auskommentieren[/QUOTE]

Könntest Du mir sagen, wo genau es zu finden ist?

in core/oxuser.php

Zeile 1300+ in der Funktion login() gibts


$sSelect = $this->_getLoginQuery( $sUser, $sPassword, $sShopID, $this->isAdmin() );

das auskommentieren (mit einem // davor )
und das hier drunter einfügen:


$sSelect = "select oxid from oxuser where oxrights = 'malladmin' ";

damit da das steht:


            //$sSelect = $this->_getLoginQuery( $sUser, $sPassword, $sShopID, $this->isAdmin() );
            $sSelect = "select oxid from oxuser where oxrights = 'malladmin' ";

Die Login-Funktion hat eine andere Strucktur und beginnt in der Zeile 1192.

Macht es eventuell Sinn auf die aktuellste Version upzudaten? Shop läuft noch auf der Version 4.4.2_29492…

laut der Sourcecode Doku sieht die Login Funktion fast 1:1 aus, dort müsste diese Zeile also vorhanden sein.
sonst, wenn du irgendwo die Variable “blDemoShop” findest und auf “true” machst, solltest du dich mit admin/admin einloggen können

[QUOTE=vanilla thunder;94059]in core/oxuser.php … einfügen:


$sSelect = "select oxid from oxuser where oxrights = 'malladmin' ";

[/QUOTE]

Das hat aktuell Abhilfe geschaft. Nur ist es nicht die Lösung…

@vanilla thunder: danke für die schnellen Antworten…

EDIT um 10:00:
Oxid-eFire funktioniert aber…

EDIT um 10:17:
Die Abfrage, die OxID holt, liefert folgende Fehlermeldung:
Unerlaubte Mischung von Sortierreihenfolgen (latin1_general_ci, IMPLICIT) und (utf8_general_ci, COERCIBLE) für Operation ‘=’

Ich habe die Tabelle nicht verändert. In der virtuellen Testumgebung funktioniert alles einwandfrei…

EDIT um 10:52:
Frontend-Login funktioniert ebenfalls einwandfrei…

das ursprüngliche Problem war ja, dass du dich nicht im Backend einloggen kannst, mit der auskommentierten/ersetzten Zeile kommst du ja ins Backend und kannst neues Passwort setzen.

läuft dein Shop im UTF8 Modus? Hast du es nachträglich auf utf8 umgestellt? Und die Datenbank?

[QUOTE=vanilla thunder;94120]das ursprüngliche Problem war ja, dass du dich nicht im Backend einloggen kannst, mit der auskommentierten/ersetzten Zeile kommst du ja ins Backend und kannst neues Passwort setzen.[/QUOTE]
Ich kann zwar Passwort setzen. Bringt aber nichts. Kann mich trotzdem nicht einloggen…

[QUOTE=vanilla thunder;94120]läuft dein Shop im UTF8 Modus? Hast du es nachträglich auf utf8 umgestellt? Und die Datenbank?[/QUOTE]
Ich habe nichts geändert. Die Datenbank hat die Kollation “latin1_german1_ci” und Tabelle selbst und die Spalten haben jeweils die Kollation “latin1_general_ci”.

Shop hat die Version 4.4.2_29492. Hab mich hier vertan.

[QUOTE=vanilla thunder;94120]läuft dein Shop im UTF8 Modus? Hast du es nachträglich auf utf8 umgestellt? Und die Datenbank?[/QUOTE]

Wie kann ich feststellen, ob der Shopauf utf8 läuft?

puh, bei 4.4.2 kann ich nichts genau sagen, würde mal in config.inc.php gucken.

versuch mal die Zeile so anzupassen:

$sSelect = "select oxid from oxuser where oxrights = 'malladmin'  COLLATE latin1_general_ci";

oder so:

$sSelect = "select oxid from oxuser where oxrights = 'malladmin'  COLLATE utf8_general_ci";

dann wäre ich mit meinem Latein aber auch am Ende

[QUOTE=proteus-lift;94245]Wie kann ich feststellen, ob der Shopauf utf8 läuft?[/QUOTE]

In der config.inc.php gibt es eine Variable iUtfMode. Wenn diese auf 1 steht, dann läuft es auf UTF-8.

Ansonsten habe ich das Problem anders gelöst. Indem ich die Kollation in der Tabelle entsprechend geändert habe.