wake-up-neo.com

Prestashop kann sich nicht im Admin einloggen

Vor einigen Tagen konnte ich nicht auf das Admin-Panel meiner Site zugreifen, das auf der Prestashop-Plattform basiert. Nach der Eingabe von Login und Passwort wurde ich erneut zur Login-Seite weitergeleitet und alles wiederholt.

Die Site wird auf einem dedizierten Server gehostet, auf dem auch einige andere Prestashop-Sites gehostet werden, die ich entwickle. Nach dem Versuch, auf das Admin-Panel auf diesen Sites zuzugreifen, erhalte ich den gleichen "Fehler".

Was denkst du, was ist das Problem?

Prestashop Ver .: 1.4.7.3 und 1.4.8.2

Server: CentOs, PHP

7
Cvalya

Hier sind einige Dinge, die Sie ausprobieren können:

1/Leere deinen Browser-Cache und deine Cookies

2/Versuchen Sie Firefox anstelle von Chrome (was einige unerwartete Probleme zu haben scheint)

3/Überprüfe PS_SHOP_DOMAIN und PS_SHOP_DOMAIN_SSL in ps_configuration Tabelle

4/Löschen Sie den Smarty-Cache manuell : Entfernen Sie alle Dateien aus tools/smarty/compile und tools/smarty/cache

5/Deaktiviere die IP-Prüfung in classes/Cookie.php (dies kann viele Probleme mit dynamics IP verursachen): entferne oder kommentiere in isLoggedBack() die vierte Bedingung:

AND (!isset($this->_content['remote_addr']) OR $this->_content['remote_addr'] == ip2long(Tools::getRemoteAddr()) OR !Configuration::get('PS_COOKIE_CHECKIP'))

6/Verkürzung der Ablaufzeit für Cookies (IE kann Probleme mit Cookies mit der längsten Zeit haben): im classes/Cookie.php -Konstruktor,

set: $this->_expire = isset($expire) ? (int)($expire) : (time() + 3600);

anstelle von $this->_expire = isset($expire) ? (int)($expire) : (time() + 1728000);

19
zessx

Ich habe viel Zeit damit verbracht, dies zu debuggen. Installieren Sie prestashop lokal auf meinem Computer. In meinem Fall sollten Sie manuell zu Folgendem navigieren:

< domain >/admin/index.php
3
dark knight

Das hat bei mir funktioniert: Setzen Sie in der Systemsteuerung "Administration> Einstellungen" die Option "Überprüfen Sie die IP-Adresse der Cookies" auf "Nein".

http://xbfish.com/tag/auto-logout/

1
philosodad

Ich hatte das gleiche Problem wie alle anderen.

Ich konnte mich über IE anmelden, aber nicht über Firefox.

Was ich getan habe, um das Problem zu beheben, war in den Cookie-Manager zu gehen und alle Cookies zu löschen.

Ich weiß, es klingt klischeehaft, aber sonst hat nichts funktioniert.

Ich suchte nach dem Namen meiner Website und schaute auf das Cookie, das zwar alt, aber nicht mehr aktiv war. Ich schätze, ich habe das Cookie beschädigt oder sie führen möglicherweise einen IP-Abgleich durch, weil ich mitten in der Verwendung des Admin-Panels zu meinem Telefonbrowser gewechselt bin, um etwas zu überprüfen. Bei der Rückkehr würde es nur die Anmeldeseite durchlaufen, kein Fehler.

Ich denke, sie müssen das Problem vom Standpunkt der Software aus beheben.

Unabhängig davon, nachdem ich alle mit meiner Website verknüpften Cookies gelöscht habe, bin ich problemlos zurückgekehrt. Es wurde auch ein Problem behoben, das ich mit www.mysite.com und mysite.com hatte. Ich habe mit dem technischen Support gesprochen, weil es manchmal funktioniert und manchmal nicht. Möglicherweise speichert der Cookie auch, welche Variante von www/non für die dynamische Verknüpfung verwendet wurde. Meinem DNS wurde Zeit zur Lösung eingeräumt, und der technische Support machte das dafür verantwortlich, aber das war es nicht.

Löschen Sie nicht nur Cookies, sondern löschen Sie sie auch manuell für Ihre Website. Als ich die klaren Cookies verwendet habe, wurden nicht viele Cookies gelöscht. Ich stellte fest, dass auf meiner Website nach dem Löschen der Cookies noch 9 Cookies gesetzt waren. Ob das mein Fehler oder etwas anderes war, weiß ich nicht.

Viel Glück an alle und danke für die anderen Vorschläge. Wenn es zurückkommt, gehe ich auf die anderen Vorschläge ein und erstatte Bericht.

1

Ich verwende prestashop 1.4.8.2. Ich habe gerade meine Back-Office-Anmeldeschleife durch Ändern von admin/login.php getestet. Entfernen Sie einfach scheinbar nutzlose Bedingungen in folgendem Code.

if ((empty($_SERVER['HTTPS']) OR strtolower($_SERVER['HTTPS']) == 'off')
     AND Configuration::get('PS_SSL_ENABLED'))

Ändern mit

 if (!Configuration::get('PS_SSL_ENABLED'))

Ich habe auch Cookie und Bam gelöscht, es hat funktioniert. Ich weiß nicht, ob es andere Sachen durcheinander bringen wird, aber ich kann AT LETZT in mein Backoffice. Frieden!!

1
Towelie

Ich hatte das gleiche Problem, nachdem ich einen NGINX als Reverse-Proxy vor meinem Apache-Webserver hinzugefügt hatte.

Das Problem wurde durch den Parametersatz «Überprüfen Sie die IP-Adresse des Cookies» auf «yes» verursacht. Da ich vom Admin gesperrt war und es nicht ändern konnte, habe ich es direkt in der Datenbank mit dieser SQL-Anfrage gemacht:

UPDATE ps_configuration SET value = 0 WHERE name='PS_COOKIE_CHECKIP';

PS: ps_ ist mein Tabellenpräfix, Sie können es an Ihre Einstellungen anpassen.

1
Nicolas Karolak

Es gibt einige mögliche Dinge, die dazu geführt haben könnten, dass Ihre alten Passwörter nicht mehr funktionieren. Möglicherweise hat sich Ihr _COOKIE_KEY_ geändert.

Sie können versuchen, mit dem folgenden Skript einen neuen Kennwort-Hash zu generieren. Sie können es dann in der Datenbank in der Tabelle xxxx_employee ersetzen (wobei xxxx_ Ihr Tabellenpräfix ist). Ich hoffe das klappt bei dir In jedem Fall: Erstellen Sie eine Sicherungskopie Ihrer alten Hashes.

Hier ist das kleine Skript:

<?php
require(dirname(__FILE__).'/config/config.inc.php');
echo Tools::encrypt($_REQUEST["pw"]);

Vergessen Sie nicht, das Skript von Ihrem Server zu entfernen, sobald Sie fertig sind!

0
csupnig