Jump to content

El usuario administrador ha desaparecido


Recommended Posts

Hace unos días pedía ayuda desesperadamente, y la sigo pidiendo ya que ninguna de las formulas que me han ofrecido ha funcionado, y no consigo entrar al administrador de la web, no reconoce a ningún usuario, dice que no existen en la tienda, he buscado en foros tanto en español como en otros idiomas y las posibles soluciones en mi caso no funcionan, alguna ayudita por favor que me ayude a salir de este largo túnel?

Uso prestashop 1.6 

Link to comment
Share on other sites

He seguido las instrucciones de los siguientes post

Cambiar contraseña de admin en Prestashop
Para cambiar la contraseña de admin, debes acceder por FTP al subdominio, entrar a la carpeta 'public_html/config', y dentro de esta edita
r el archivo 'settings.inc.php'.
Dentro verás algo parecido a esto:
define('_COOKIE_KEY_', 'Qf2xjHNknjce8cnjdiome090a9HHkjkdjc5Za84XO');
Copia el último código (copiar sin las comillas), y accede después ahttp://www.md5.fr/ 
Pega el código que has copiado en el cuadro que aparece, y seguido a este sin dejar espacios, escribe la nueva contraseña.
(ejemplo: Qf2xjHNknjce8cnjdiome090a9HHkjkdjc5Za84XOnuevacontraseña)
Pulsa el botón 'Convertir en MD5'.
Copia el código que genera.
Entra a tu CPANEL, phpmyadmin, y selecciona la base de datos de Prestashop.
Busca la tabla 'employee' y edita el usuario que quieras.
En el apartado 'password' elimina lo que aparece y pega el código generado por http://www.md5.fr/ 
Pulsa en continuar y prueba a acceder al admin de Prestashop de nuevo.
Y el resultado sigue siendo negativo
He probado tambien a hacer lo indicado en este enlace
https://www.prestashop.com/…/39918-cambio-de-passwo…/page-4…
Y exactamente lo mismo, no existe el empleado, también he probado con otros usuarios que tengo y el resultado es igual, ninguno existe, pero si están en la base de datos

Link to comment
Share on other sites

Ok esos son los pasos para cambiar las claves pero aqui viene mi pregunta

 

Que hiciste antes de que dejara de funcionar ? 

alguna vez te funciono ?

estas seguro que estas usando la base de datos correcta ?

Link to comment
Share on other sites

Nos enteramos del problema por un cliente que nos dijo que habían desaparecido los precios de los productos y al querer entrar al Backoffice dio el error de usuario desconocido.

La tienda funcionaba perfectamente hasta ese momento, y si, es la bbdd correcta 

Link to comment
Share on other sites

Que raro

 

vamos a probar algo vamos a chequear que sea problema de password y no de usuario

 

Busca dentro de la carpera classes  Employee.php

 

Luego busca esta función  getByEmail

 

y vas a cambiar 

	$result = Db::getInstance()->getRow('
		SELECT *
		FROM `'._DB_PREFIX_.'employee`
		WHERE `active` = 1
		AND `email` = \''.pSQL($email).'\'
		'.($passwd !== null ? 'AND `passwd` = \''.Tools::encrypt($passwd).'\'' : ''));

por 

	$result = Db::getInstance()->getRow('
		SELECT *
		FROM `'._DB_PREFIX_.'employee`
		WHERE `active` = 1
		AND `email` = \''.pSQL($email).'\');

para estar seguros que es un problema con el password o es que en realidad no encuentra al usuario


Ahora que veo el query chequeaste que los empleados esten activos

Link to comment
Share on other sites

Después de hacer dicho cambio me dice lo siguiente:

[PrestaShopDatabaseException]

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '); AND `passwd` = '49dcce5bd5b72db3cc171f0b615ea397' LIMIT 1' at line 4
 

        SELECT *
        FROM `prstshp_employee`
        WHERE `active` = 1
        AND `email` = '[email protected]');
        AND `passwd` = '49dcce5bd5b72db3cc171f0b615ea397' LIMIT 1

at line 639 in file classes/db/Db.php

 

634.             WebserviceRequest::getInstance()->setError(500, '
 '.$this->getMsgError().'. From '.(isset($dbg[3]['class']) ? $dbg[3]['class'] : '').'->'.$dbg[3]['function'].'() Query was : '.$sql, 97);
635.         }
636.         elseif (_PS_DEBUG_SQL_ && $errno && !defined('PS_INSTALLATION_IN_PROGRESS'))
637.         {
638.             if ($sql)
639.                 throw new PrestaShopDatabaseException($this->getMsgError().'<br /><br /><pre>'.$sql.'</pre>');
640.             throw new PrestaShopDatabaseException($this->getMsgError());
641.         }
642.     }
643.
644.     /**
Link to comment
Share on other sites

Disculpa que no lo había probado

 

si logras entrar es que el problema es con el password si te da el mismo error entoces cambia el active el 1 por 0 a ver si es que los empleados estan desactivados si ninguna de las 2 funcionan ya el problema es otro

Link to comment
Share on other sites

Es que ya me parece raro

 

ya que si dices que el usuario esta en la tabla, la base de datos esta bien configurada  y lo unico que estamos buscando es el correo electrónico lo debería encontrar

 

tienes acceso a phpmyadmin ejecuta el query

 

 

SELECT * FROM ps_employee     WHERE `email` = 'email@delusuario';

 

y dime si te encuentra el usuario

Link to comment
Share on other sites

Si, si que encuentra el usuario pero he tenido que modificar el texto de la consulta ya que la tabla no es ps sino prstshp 

Parece como si no hubiera conexión entre la bbdd y el administrador, como se puede comprobar este extremo? m

Link to comment
Share on other sites

Si, esta dicha linea 

te muestro el contenido del archivo 

<?php
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', '............');
define('_DB_USER_', '.................');
define('_DB_PASSWD_', '.........................');
define('_DB_PREFIX_', 'prstshp_');
define('_MYSQL_ENGINE_', 'InnoDB');
define('_PS_CACHING_SYSTEM_', 'CacheMemcache');
define('_PS_CACHE_ENABLED_', '1');
define('_MEDIA_SERVER_1_', '');
define('_MEDIA_SERVER_2_', '');
define('_MEDIA_SERVER_3_', '');
define('_COOKIE_KEY_', '.............................................................');
define('_COOKIE_IV_', ....................);
define('_PS_CREATION_DATE_', '2014-02-07');
define('_PS_VERSION_', '1.6.0.9');
define('_RIJNDAEL_KEY_', '[spam-filter]RIJNDAEL_KEY[spam-filter]');
define('_RIJNDAEL_IV_', '[spam-filter]RIJNDAEL_IV[spam-filter]');
define('_PS_DIRECTORY_', '/../../');
los datos en puntos suspensivos los he eliminado por seguridad, pero si necesitas alguno en particular puedo pasártelo al mail que me indiques 
Link to comment
Share on other sites

Es raro el problema que tienes en realidad se ve todo bien, no entiendo porque no accedes a la base de datos sobre todo si dices que la tienda se ve

 

vamos hacer otra prueba si te parece

 

busca en la carpeta controllers el archivo AdminLoginController.php

 

ubica la función initContent y vas a poner de primero esto

 

 

        
        $sSQL = "Select * from " . _DB_PREFIX_ . "employee "  ;
        $rsRows = Db::getInstance()->ExecuteS($sSQL );
        var_dump($rsRows);

 

 

lo que te debe mostrar es todos los usuarios en la base de datos es solo para saber si esta leyendo la tabla

Link to comment
Share on other sites

He seguido tus instrucciones y al poner  la formula indicada el error que me da al iniciar es:

Parse error: syntax error, unexpected T_VARIABLE, expecting ';' or '{' in /var/www/vhosts/ferminmusic.com/tienda/controllers/admin/AdminLoginController.php on line 57

post-747663-0-68578200-1438019279_thumb.png

Edited by Txus_ito (see edit history)
Link to comment
Share on other sites

Ok esa es la tabla de empleados asi que si te lee los datos de la base de datos

 

era solo para que chequearas no para que la pegaras aqui si puedes editar el post quitala

 

 

Sigo sin entender porque no te consigue el usuario, en los cambios anteriores solo chequeamos que buscara el correo y no te lo conseguia ahora veo que si lee la base de datos

 

 

Por casualidad no tendras algun override

Link to comment
Share on other sites

ok vamos por partes

 

Si has actualizado y te reconoce el usuario debes eliminar todos los cambios que hemos hecho

 

Ahora si se te desactivo eso no ocurre al azar debes haber hecho algo o alguien te lo desactivo

Link to comment
Share on other sites

He estado viendo el log de conexiones al servidor y a finales de junio y primeros de julio hubo gran cantidad de intentos de conexión fallidos al backoffice desde Alemania, Inglaterra y los Estados Unido y parece ser que alguno de eso tuvo suerte y se metió dentro desactivando los usuarios de la bbdd, y no se que mas harían y con que fin ya que sigo sin poder acceder al mismo y nadie ha conseguido darme una idea para recuperarlo, por lo que estoy desesperado y ya no se donde acudir ni que hacer

Link to comment
Share on other sites

En realidad es que tu problema es muy especifico y  ahora que confirmas que accedieron a tu web tal vez tambien te hayan cambiado los archivos o los datos de la base de datos

 

Te recomendaría que contrates los servicios de un freelance que te ayude a resolver el problema

Link to comment
Share on other sites

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...