2012-07-04 5 views
7

Vor einigen Tagen konnte ich nicht auf das Admin-Panel auf meiner Website basierend auf Prestashop-Plattform zugreifen. Nach Eingabe von Login und Passwort wurde ich erneut zur Login-Seite weitergeleitet und alles wurde wiederholt.Prestashop kann nicht in Admin einloggen

Die Seite wird auf einem dedizierten Server gehostet, wo auch einige andere Prestashop-Seiten, die ich entwickle, gehostet werden. Nach dem Versuch, auf diesen Seiten auf das Admin-Panel zuzugreifen, bekomme 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

Antwort

19

ist einige Dinge, die Sie können versuchen:

1/löschen Browser-Cache und Cookies

2/Versuchen Sie Firefox anstelle von Chrome mit (die haben einige unerwartete Probleme scheint)

3/Check PS_SHOP_DOMAIN und PS_SHOP_DOMAIN_SSL in ps_configuration Tabelle

4/Manuell klar Smarty Cache: Entfernen Sie alle Dateien aus tools/smarty/compile und tools/smarty/cache

5/Deaktivieren Sie die IP-Check in classes/Cookie.php (dies kann viele Probleme mit Dynamik IP verursacht): in isLoggedBack(), entfernen oder Kommentar die vierte Bedingung:

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

6/die Make Zeit kürzer für Cookies (IE c verfallen eine haben Probleme mit der längsten Zeit Cookies): in classes/Cookie.php Konstruktor

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

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

+4

Für PS 1.5; '5/Deaktivieren Sie die IP-Prüfung': Anstatt Kerndateien manuell bearbeiten zu können, gehen Sie zu' Administration> Einstellungen' und ändern Sie 'Überprüfen Sie die IP-Adresse auf dem Cookie' auf' nein' .. Das gleiche gilt für 6/ – UnLoCo

+0

+1 der Firefox-Vorschlag! Chrome scheint nach einer erfolgreichen Anmeldung einfach nichts zu tun zu haben ... – Mediabeastnz

+0

# 5 löste es für mich - ich habe 2 Internetverbindung, das Problem passierte nur bei einem von ihnen, wander warum ... –

-1

Wenn Sie eine Arbeitsstelle haben, wo Sie sich einloggen können. Vielleicht können Sie den Benutzer von der Arbeit in die Nicht-Arbeit kopieren und sehen, ob das funktioniert.

+0

Gilt in keiner Weise – erm3nda

0

Es gibt einige mögliche Dinge, die passieren könnten, um zu verhindern, dass Ihre alten Kennwörter funktionieren. Einer könnte sein, dass sich dein _COOKIE_KEY_ geändert hat.

Sie können versuchen, das folgende Skript zu verwenden, um 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 funktioniert für dich. In jedem Fall: eine Sicherungskopie Ihrer alten Hashes erstellen.

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, sobald Sie fertig sind zu entfernen!Hier

-1

Ich weiß, das ist alt, aber es kann jemand helfen, schalten Fehler auf durch Öffnen/config/config.inc.php.

Suchen Sie die Zeile:

ini_set('display_errors', 'off'); 

Änderung es zu:

ini_set('display_errors', 'on'); 

EDIT: geändert, um eine scheinbar Typo

+0

Dies gilt in keiner Weise. – erm3nda

1

hatte ich das gleiche Problem wie alle anderen.

Ich konnte über IE aber nicht firefox anmelden.

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 Klischee, aber nichts anderes hat funktioniert.

Ich suchte nach meinem Site-Namen und schaute auf den Cookie, es war lange datiert, aber nicht mehr aktiv. Meine Vermutung war, dass ich den Cookie korrumpiert habe, oder vielleicht machen sie IP-Abgleich, weil ich mitten in der Verwendung des Admin-Panels zu meinem Handy-Browser wechselte, 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 von der Software Standpunkt zu beheben.

Unabhängig davon, nachdem ich alle Cookies gelöscht, die mit meiner Website verbunden sind, habe ich gleich wieder kein Problem. Es behebt auch ein Problem, das ich mit www.mysite.com und mysite.com hatte. Ich habe mit dem technischen Support gesprochen, weil es manchmal funktioniert und manchmal nicht.Vielleicht speichert der Cookie auch, welche Variante von www/non für die dynamische Verknüpfung verwendet wurde. Mein DNS hatte Zeit zu lösen und der technische Support gab mir die Schuld, aber das war es nicht.

Löschen Sie nicht nur Cookies, gehen Sie manuell die für Ihre Website löschen. Wenn ich die klaren Cookies verwendete, löschte es nicht viele Cookies. Ich habe festgestellt, dass meine Seite nach den Cookies noch 9 Cookies gesetzt hat. Ob das mein Fehler oder etwas anderes war, werde ich nicht wissen.

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 melde mich zurück.

-1

Manchmal bekomme ich diesen Fehler, wenn ich Shop-Domäne konfigurierte mit nicht-www und ich versuche, mit www zugreifen, zum Beispiel. Ich mag alle Benutzer zwingen, die gleiche URL haben, so dass ich zwingen, bei .htaccess mit www eingeben:

RewriteCond %{HTTP_HOST} !^www. 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 
+0

Falls Domainangelegenheiten nicht betroffen sind. Falls diese Domain keine Rolle spielt, wird dies sowieso nicht gelöst. – erm3nda

-1

Falls Sie Prestashop von einer lokalen Version oder von einer anderen Domäne, zusätzlich von der bewegt haben klassisch.

update ps_configuration table set value="www.myshop.com" where name ="PS_SHOP_DOMAIN"; 

update ps_configuration table set value="www.myshop.com" where name ="PS_SHOP_DOMAIN_SSL"; 

Überprüfen Sie die Tabelle mit dem Namen ps_shop_url und aktualisieren domain und domain_ssl Feld und physical_url auch.

Beispiel:

update ps_shop_url set domain='www.myshop.com', domain_ssl='www.myshop.com', physical_url='/'; 
+0

Dies gilt in keiner Weise – erm3nda

1

Ich benutze Prestashop 1.4.8.2 ich debuged nur Schleife meiner Back-Office-Login durch in folgendem Code admin/login.php einfach entfernen scheinbar nutzlose Bedingungen zu ändern.

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

Wechsel mit

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

Ich räumte auch Plätzchen und bam es funktionierte. Ich weiß nicht, ob es andere Sachen durcheinander bringt, aber ich kann endlich in mein Backoffice kommen. Frieden !!

1

Ich hatte das gleiche Problem nach dem Hinzufügen eines NGINX als Reverse-Proxy vor meinem Apache-Webserver.

Das Problem war, aus dem «Überprüfen Sie die IP-Adresse auf dem Cookie» Parameter «ja» zu. Da ich von Admin gesperrt wurde und konnte es nicht ändern, ich habe es direkt in der Datenbank mit diesem SQL Anfrage:

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

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

+0

Dies ist schnell. Eine gute Lösung könnte darin bestehen, eine if-Klausel hinzuzufügen und wenige Codezeilen zu setzen, um nach (_beispiel) $ _REQUEST ["letmein"] zu suchen ... damit Sie das Panel betreten und die Cookie-Prüfung aktivieren/deaktivieren können. Für immer zu deaktivieren ist keine gute Idee. – erm3nda

3

Ich verbrachte viel Zeit damit, dieses zu debuggen. Prestashop lokal auf meinem Computer installiert. Bei meinem folgenden Fall sollten Sie manuell zu folgendem navigieren:

<domain>/admin/index.php 
Verwandte Themen