Jump to content

Нужна помощь!!!!


Recommended Posts

Я забыл пароль от админки !!!! При регенерации пароля мне не приходит письмо с моим новым паролем!!! Что делать?????? Как это можно исправить?????

Link to comment
Share on other sites

сам пароль хранится в таблице ps_employee колонка passwd для его генерации необходима строчка _COOKIE_KEY_ из файла config/settings.inc.php
обновить можно следующей командой sql

update ps_employee set passwd=md5('строка_COOKIE_KEY_новыйпароль') where email='ВАШ EMAIL'
например
update ps_employee set passwd=md5('diToJzdMCce9AoQHUiU0GSP3YegkeI33TvY7uOy370cL5tciaHtHdo7newpass') where email='[email protected]'


соответственно пароль newpass

Link to comment
Share on other sites

Спасибо но в каком именно месте ?????

<?php

/**
* Password recuperation for employees account, password.php
* @category admin
*
* @author PrestaShop
* @copyright PrestaShop
* @license http://www.opensource.org/licenses/osl-3.0.php Open-source licence 3.0
* @version 1.2
*
*/

define('PS_ADMIN_DIR', getcwd());

include(PS_ADMIN_DIR.'/../config/config.inc.php');
include(PS_ADMIN_DIR.'/functions.php');

$errors = array();
$cookie = new Cookie('psAdmin', substr($_SERVER['PHP_SELF'], strlen(__PS_BASE_URI__), -10));
$id_lang = intval($cookie->id_lang) ? intval($cookie->id_lang) : 1;
$iso = strtolower(Language::getIsoById($cookie->id_lang ? intval($cookie->id_lang) : 1));
include(_PS_TRANSLATIONS_DIR_.$iso.'/admin.php');

if (isset($_POST['Submit']))
{
$errors = array();
if (empty($_POST['email']))
$errors[] = Tools::displayError('e-mail is empty');
elseif (!Validate::isEmail($_POST['email']))
$errors[] = Tools::displayError('invalid e-mail address');
else
{
$employee = new Employee();
if (!$employee->getByemail($_POST['email']) OR !$employee)
$errors[] = Tools::displayError('this account doesn\'t exist');
else
{
if ((strtotime($employee->last_passwd_gen.'+'.Configuration::get('PS_PASSWD_TIME_BACK').' minutes') - time()) > 0 )
$errors[] = Tools::displayError('You can regenerate your password only each').' '.Configuration::get('PS_PASSWD_TIME_BACK').' '.Tools::displayError('minute(s)');
else
{
$pwd = Tools::passwdGen();
$employee->passwd = md5(pSQL(_COOKIE_KEY_.$pwd));
$employee->last_passwd_gen = date('Y-m-d H:i:s', time());
$result = $employee->update();
if (!$result)
$errors[] = Tools::displayError('an error occurred during your password change');
else
{
Mail::Send($id_lang, 'password', 'Your new admin password', array('{email}' => $employee->email, '{lastname}' => $employee->lastname, '{firstname}' => $employee->firstname, '{passwd}' => $pwd), $employee->email, $employee->firstname.' '.$employee->lastname);
$confirmation = 'ok';
}
}
}
}
}

echo '

<html >
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link type="text/css" rel="stylesheet" href="../css/login.css" />
<title>PrestaShop™ - '.translate('Administration panel').'</title>
</head>
<body><div id="container">';
if (sizeof($errors))
{
echo '


'.translate('There is 1 error').'


  1. ';
    foreach ($errors AS $error)
    echo '
  2. '.$error.'';
    echo '

';
}
echo '

<form action="" method="post">
'.translate('Forgot your password?').'

';
if (isset($confirmation))
echo '


'.translate('Your password has been e-mailed to you').'.

';
else
echo ' '.translate('Please, enter your e-mail address').'
'.translate('(the one you wrote during your registration) in order to receive your access codes by e-mail').'.


<input type="text" name="email" class="input" />


<input type="submit" name="Submit" value="'.translate('Send').'" class="button" /></div>
 


</form>

</body></html>';

?>
Link to comment
Share on other sites

у вас есть доступ к базе данных?
обычно на хостингах есть доступ к базе через phpMyAdmin
справа выбираем нужную базу данных
в центре ярлык SQL ну и вводим запрос который я давал только подставляете свои данные

Link to comment
Share on other sites

Спасибо я нашел но никаких изменений. Я зашел в базу данных, нашел колонку ps_employee, Выполнить SQL-запрос(ы) к базе данных.

В колонке для ввода команды было следующее SELECT * FROM `ps_employee` WHERE 1
Вместо этого вставил update ps_employee set
passwd=md5('diToJzdMCce9AoQHUiU0GSP3YegkeI33TvY7uOy370cL5tciaHtHdo7newpass
')
where email='[email protected]'
В соответцтвии с инструкциями.

Результат сверху - Затронуто строк: 0. ( запрос занял 0.0005 сек. )
update ps_employee set
passwd=md5('Ub0Wrg26ynD2gBppsqt7X4DshJpVwh6RpKb3C5rmFKonIxxcNeNFR3hfnewpass
')
where email='[email protected]'

Изменений нету. Да есть еще в колонке ps_employee ее обзор там есть данные кто пользователь, пароль, email, дата паследней генерации пароля я попробывал скопировать инфу оттуда но результат тот же зайти в админку немогу пишет неправильный пароль!!!!!!

Link to comment
Share on other sites

  • 2 weeks later...

Если еще актуально, то рассказываю, я делал так, как сказано в сообщении от Tradeby по адресу http://www.nulled.cc/showthread.php?t=48600&highlight=presta&page=39. Весьма действенный способ :)
Правильно, таблица ps_employee, и помни, что в админку надо вводить не хеш (непонятный набор цифр), а именно пароль нового юзера

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...