Ich habe ein Problem mit Magento 1.9.2.3. Wenn ich mich mit meinem benutzerdefinierten Administrationsformular verbinde, wird eine Fehlermeldung angezeigt.
Ich habe ein Modul erstellt und die Kunden- / Konto- / Anmeldeseite für meine Benutzerrolle dupliziert .
<?xml version="1.0"?>
<config>
<modules>
<Custom_Page>
<active>true</active>
<codePool>local</codePool>
</Custom_Page>
</modules>
</config>
meine config.xml:
<?xml version="1.0"?>
<config>
<global>
<page>
<layouts>
<Custom_Page>
<label>User Login</label>
<template>page/user_login.phtml</template>
</Custom_Page>
</layouts>
</page>
</global>
</config>
Kein Problem mit der alten Magento-Version.
Aber mit 1.9.2.3: Der ungültige Formularschlüssel. Bitte aktualisieren Sie die Seite erscheint.
HINWEIS: Wenn ich die alte Observer.php ersetze, ist Folgendes erledigt:
www \ app \ code \ core \ Mage \ Admin \ Model \ Observer.php
Aber ich denke, es ist nicht ernst, die neue Observer.php durch die alte zu ersetzen.
BEARBEITEN : Meine user_login.phtml enthält eine Eingabe form_key.
<form action="/admin" method="post" id="login-form">
<input type="hidden" name="form_key" value="<?php echo Mage::getSingleton('core/session')->getFormKey() ?>"/>
Danke für Ihre Hilfe.
magento-1.9
login
admin-panel
form-key
phpschool
quelle
quelle
Antworten:
Ich hatte das gleiche Problem und konnte es beheben, indem ich das richtige einstellte
web / cookie / cookie_domain
und
web / cookie / cookie_path
Werte in der Tabelle
core_config_data
.quelle
Ich habe diese Abfragen verwendet und konnte mich erneut anmelden
DELETE FROM core_config_data WHERE path='web/cookie/cookie_domain'; DELETE FROM core_config_data WHERE path='web/cookie/cookie_path';
und stellen Sie sicher, dass der Webserver-Benutzer das Recht hat, in den Sitzungsspeicher zu schreiben. Überprüfen Sie die
session_save_path
Einstellung, wenn Sie die Sitzung in Dateien speichern. Es sieht aus wie das<session_save><![CDATA[files]]></session_save> <session_save_path><![CDATA[/tmp/session]]></session_save_path>
quelle
Überprüfen Sie Ihre Einstellungen für https. Wenn Sie https für Ihr Magento verwenden, aber versuchen, eine Site mit http zu öffnen, tritt ein Problem auf.
quelle
Ich habe diesen Fehler nach dem Upgrade auf PHP7.0 erhalten . Ausführen von Magento Enterprise 1.9 . Ich habe dann jeden Vorschlag da draußen ausprobiert. So habe ich es zum Laufen gebracht:
quelle
Neuere Versionen von Magento erfordern Formulare,
<input type="hidden" name="form_key" value="<?php echo Mage::getSingleton('core/session')->getFormKey() ?>" />
um CSRF-Angriffe (Cross-Site Request Forgery) zu verhindern.quelle
<input type="hidden" name="form_key" value="Pzty7ZxT6PWRSjhR"/>
Quellseite gehe : Mit Magento 1.7.0.2 ist es in Ordnung.Ich hatte den gleichen Fehler mit Magento 1.9.2.3 nach dem Kopieren der Site auf einen lokalen Webserver auf MAMP 3.
Das Problem wurde behoben, als ich in der Tabelle
core_config_data
dasweb/cookie/cookie_domain
zumysite.lan
anstelle des ändertemysite.lan:8888
.quelle
In meinem Fall funktionierte dies unter Linux, aber in meiner lokalen Windows-Umgebung mit Virtualbox / Docker und Windows 10 wurde dieser Fehler durch die seltsamen Berechtigungen verursacht, die vb / docker / windows / var / session / erteilt. Nur in meiner lokalen Entwicklungsumgebung habe ich den Pfad von einem zugeordneten Windows-Laufwerk auf einen "echten" Pfad auf der Linux-VM verschoben
Ich habe diese in die Konfigurationsdatei
app/etc/local.xml
gelöscht dann alle Dateien invar/cache
undvar/session
und könnte OK anmelden.quelle
In meinem Fall habe ich den Fehler mit den folgenden Schritten erstellt: Ich hatte eine Magento-Kopie (dev) in das Magento selbst verschoben : Magento / Magento-Kopie Vorher waren sie nebeneinander auf dem Server. Jeder mit seiner eigenen Quote. Es trat also ein Qutoa in das andere auf -> es traten Probleme auf. Da ich die Magento-Kopie mit FTP nicht anzeigen konnte, habe ich den Eigentümer der Dateien per Datei-Editor geändert. Aus irgendeinem Grund verursachte dies den Fehler.
quelle
Überprüfen Sie, ob Sie sich unter https: // yourwebsite / admin statt http anmelden können, und überprüfen Sie core_config_data web / secure / use_in_adminhtml
Ich habe ein ähnliches Problem und die Anmeldung funktioniert nur auf sicher
quelle
Ich bekomme dieses Problem oft, wenn ich an mehreren Entwicklungs- und Live-Sites arbeite, und es gibt einige Cookie-Verwirrung. Früher habe ich es mit MySQL-Abfragen und dem Löschen von Dateien behoben, aber ich habe einen besseren Weg gefunden, um das Problem zu lösen.
Das Magerun-Tool bietet eine Möglichkeit, Probleme mit dem Cookie-Pfad zu überprüfen und zu beheben. magerun ist kein Teil von Magento, daher müssen Sie es installieren. Es wird als Schweizer Taschenmesser für Magento beschrieben, so dass Sie es für andere Dinge nützlich finden könnten.
So laden Sie es herunter:
Dann
Überprüfen Sie dann den Cookie-Pfad auf Probleme ...
Es wird eine Tabelle gedruckt. Schauen Sie sich den Wert für an
web/cookie/cookie_domain
. Wenn ich dieses Problem habe, stimmt es nicht mit dem richtigen Hostnamen für die Site überein (z. B. bekomme ichdev.example.com
stattwww.example.com
).Um dies zu beheben, müssen Sie den Pfad zurücksetzen und den Cache leeren. Magerun kann dabei helfen, ...
Sie sollten sich dann erneut anmelden können.
quelle
Mein Problem war PHP Version 7.2.
ändere meine PHP-Version für 5.6 in .htaccess
AddHandler-Anwendung / x-httpd-php56 .php suPHP_ConfigPath / opt / php56 / lib
quelle
Ein anderer Weg, wie dieser Fehler für hausgemachte Admin-Module auftreten kann, ist, wenn
frontName
in Ihremroutes.xml
nicht mit dem<add action"someFrontName/someAction" />
in Ihrem übereinstimmtmenu.xml
. Dies führt dazu, dass der Schlüssel, den Sie beim Öffnen des Moduls im Link sehen, anders als erwartet ist.quelle
In Bezug auf die akzeptierte Antwort ( https://magento.stackexchange.com/a/102678/6078 ) sind die richtigen Einträge
web / cookie / cookie_domain = Ihre Basis-URL wie:
und
web / cookie / cookie_path
in der Regel nur
/
, kann aber/[storecode]|
auch pro Geschäft seinFür die lokale Entwicklung funktioniert es normalerweise, es zu löschen
cookie_domain
oder leer zu lassen, aber es scheint, dass Microsoft Edge 80 Probleme damit hat.quelle