Je rencontre un problème avec magento 1.9.2.3, un message d'erreur apparaît lorsque je me connecte avec mon formulaire d'administration personnalisé.
J'ai créé un module et j'ai dupliqué la page client / compte / connexion pour mon rôle d'utilisateur.
<?xml version="1.0"?>
<config>
<modules>
<Custom_Page>
<active>true</active>
<codePool>local</codePool>
</Custom_Page>
</modules>
</config>
mon 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>
Aucun problème avec l'ancienne version de magento.
Mais avec 1.9.2.3: la clé de formulaire non valide. Veuillez actualiser la page apparaît.
REMARQUE: si je remplace l'ancien Observer.php, c'est fait:
www \ app \ code \ core \ Mage \ Admin \ Model \ Observer.php
Mais je pense que ce n'est pas grave de remplacer le nouveau Observer.php par l'ancien.
EDIT: Mon user_login.phtml contient une entrée form_key.
<form action="/admin" method="post" id="login-form">
<input type="hidden" name="form_key" value="<?php echo Mage::getSingleton('core/session')->getFormKey() ?>"/>
Merci de votre aide.
magento-1.9
login
admin-panel
form-key
phpschool
la source
la source
Réponses:
J'ai eu le même problème et j'ai pu le résoudre en définissant le bon
web / cookie / cookie_domain
et
web / cookie / cookie_path
valeurs dans le tableau
core_config_data
.la source
J'ai utilisé ces requêtes et j'ai pu me reconnecter
DELETE FROM core_config_data WHERE path='web/cookie/cookie_domain'; DELETE FROM core_config_data WHERE path='web/cookie/cookie_path';
et assurez-vous que l'utilisateur du serveur Web a le droit d'écrire sur le stockage de session. vérification des
session_save_path
paramètres si vous enregistrez la session dans des fichiers. Ça ressemble à ça<session_save><![CDATA[files]]></session_save> <session_save_path><![CDATA[/tmp/session]]></session_save_path>
la source
Vérifiez vos paramètres pour https. Si vous utilisez https pour votre magento mais essayez d'ouvrir un site avec http, vous aurez un problème.
la source
J'ai eu cette erreur après la mise à niveau vers php7.0 . exécuter magento enterprise 1.9 . J'ai ensuite essayé toutes les suggestions. Voici comment je l'ai fait fonctionner:
la source
Les versions plus récentes de Magento nécessitent des formulaires pour
<input type="hidden" name="form_key" value="<?php echo Mage::getSingleton('core/session')->getFormKey() ?>" />
empêcher les attaques CSRF (Cross-Site Request Forgery).la source
<input type="hidden" name="form_key" value="Pzty7ZxT6PWRSjhR"/>
Avec magento 1.7.0.2 c'est ok.J'ai eu la même erreur avec Magento 1.9.2.3 après avoir copié le site sur le serveur Web local sur MAMP 3.
Donc, le problème a été résolu lorsque j'ai changé dans le tableau
core_config_data
leweb/cookie/cookie_domain
aumysite.lan
lieu dumysite.lan:8888
.la source
Dans mon cas, cela fonctionnait sous Linux mais sur mon environnement Windows local utilisant virtualbox / Docker et Windows 10, cette erreur était due aux autorisations étranges que vb / docker / windows accordait à / var / sessions /. Sur mon environnement de développement local uniquement, j'ai déplacé le chemin d'un lecteur Windows mappé vers un chemin "réel" sur la machine virtuelle Linux
J'ai ajouté cela au fichier de configuration
app/etc/local.xml
, puis j'ai supprimé tous les fichiersvar/cache
et j'aivar/session
pu me connecter OK.la source
Dans mon cas, j'ai créé l'erreur avec ces étapes: j'avais déplacé une copie de magento (dev) dans le magento lui-même: magento / magento-copy Avant, ils étaient côte à côte sur le serveur. Chacun avec son propre quota. Donc, déplacer un qutoa dans l'autre -> des problèmes sont survenus. Parce que je ne pouvais pas voir la copie magento avec FTP J'ai changé le propriétaire des fichiers par l'éditeur de fichiers. Pour une raison quelconque, cela a créé l'erreur.
la source
Vérifiez si vous pouvez vous connecter sur https: // yourwebsite / admin à la place de http et vérifiez core_config_data web / secure / use_in_adminhtml
j'ai un problème similaire et la connexion ne fonctionne que sur sécurisé
la source
J'ai souvent ce problème lorsque je travaille sur plusieurs sites de développement et sites en direct, et il y a une certaine confusion de cookies. Auparavant, je l'ai corrigé avec des requêtes MySQL et la suppression de fichiers, mais j'ai trouvé un moyen plus net de résoudre le problème.
L'outil magerun fournit un moyen de vérifier les problèmes avec le chemin du cookie et de les corriger. magerun ne fait pas partie de Magento, vous devrez donc l'installer. Il est décrit comme un couteau suisse pour magento, vous pouvez donc le trouver utile pour d'autres choses.
Pour le télécharger:
alors
Vérifiez ensuite le chemin des cookies pour les problèmes ...
Il imprimera un tableau. Regardez la valeur de
web/cookie/cookie_domain
. Lorsque je rencontre ce problème, il ne correspond pas au nom d'hôte approprié pour le site (par exemple, j'obtiens à ladev.example.com
place dewww.example.com
).Pour le corriger, vous devez réinitialiser le chemin d'accès et vider le cache, ce que magerun peut vous aider ...
Vous devriez alors pouvoir vous reconnecter.
la source
Mon problème était la version 7.2 de PHP.
changer ma version php pour 5.6 en .htaccess
Application AddHandler / x-httpd-php56 .php suPHP_ConfigPath / opt / php56 / lib
la source
Une autre façon dont cette erreur peut se produire pour les modules d'administration maison est lorsque
frontName
votreroutes.xml
ne correspond pas<add action"someFrontName/someAction" />
à votremenu.xml
. Cela fait que la clé que vous voyez dans le lien lorsque vous essayez d'ouvrir le module est différente de celle attendue.la source
Concernant la réponse acceptée ( https://magento.stackexchange.com/a/102678/6078 ) les entrées correctes sont
web / cookie / cookie_domain = votre URL de base comme:
et
web / cookie / cookie_path
généralement juste
/
mais peut/[storecode]|
aussi être par magasinPour le développement local, cela fonctionne généralement pour le supprimer
cookie_domain
ou le laisser vide, mais il semble que Microsoft Edge 80 ait des problèmes avec cela.la source