Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 9 Ответов
  • 2469 Просмотров
*

waw555

  • Захожу иногда
  • 118
  • 2 / 0
Восстановление пароля
« : 02.04.2012, 18:58:06 »
Здравствуйте!


Решил тут посмотреть как работает восстановление пароль и вот на что наткнулся.

Joomla 2.5 отправляет на почту проверочный код, но когда я данный код ввожу в поле и нажимаю ОК пишет такое:


Не удалось восстановить пароль, поскольку проверочный код был указан неверно. Пользователь не найден


Как это победить?

С кодом и логином ошибиться не мог, несколько попыток делал.

Кто нибудь пробовал? Отпишитесь.


Установлен компонент JomSocial
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
Re: Восстановление пароля
« Ответ #1 : 02.04.2012, 20:05:04 »
Значит вы копируете проверочный код в неправильной кодировке (это может зависить от почтового клиента или веб интерфейса почты) введите этот код вручную.
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

waw555

  • Захожу иногда
  • 118
  • 2 / 0
Re: Восстановление пароля
« Ответ #2 : 04.04.2012, 17:49:21 »
Каким образом
Код
getCryptedPassword
отвечает за восстановление пароля?

Изменил
Код
getCryptedPassword
и восстановление пароля не происходит, пишет то что описано в 1 посте.
*

waw555

  • Захожу иногда
  • 118
  • 2 / 0
Re: Восстановление пароля
« Ответ #3 : 04.04.2012, 18:38:27 »
Если изменить в коде переменную $encryption с md5-hex, на любое другое значение (plain или sha и т. д.), то перестает работать восстановление пароля. Каким образом оно связано, не понимаю.

Код
	public static function getCryptedPassword($plaintext, $salt = '', $encryption = 'md5-hex', $show_encrypt = false)
{
// Get the salt to use.
$salt = JUserHelper::getSalt($encryption, $salt, $plaintext);

// Encrypt the password.
switch ($encryption)
{
case 'plain':
return $plaintext;

case 'sha':
$encrypted = base64_encode(mhash(MHASH_SHA1, $plaintext));
return ($show_encrypt)? '{SHA}' . $encrypted : $encrypted;

case 'crypt':
case 'crypt-des':
case 'crypt-md5':
case 'crypt-blowfish':
return ($show_encrypt ? '{crypt}' : ''). crypt($plaintext, $salt);

case 'md5-base64':
$encrypted = base64_encode(mhash(MHASH_MD5, $plaintext));
return ($show_encrypt)? '{MD5}' . $encrypted : $encrypted;

case 'ssha':
$encrypted = base64_encode(mhash(MHASH_SHA1, $plaintext . $salt). $salt);
return ($show_encrypt)? '{SSHA}' . $encrypted : $encrypted;

case 'smd5':
$encrypted = base64_encode(mhash(MHASH_MD5, $plaintext . $salt). $salt);
return ($show_encrypt)? '{SMD5}' . $encrypted : $encrypted;

case 'aprmd5':
$length = strlen($plaintext);
$context = $plaintext . '$apr1$' . $salt;
$binary = JUserHelper::_bin(md5($plaintext . $salt . $plaintext));

for ($i = $length; $i > 0; $i -= 16)
{
$context .= substr($binary, 0, ($i > 16 ? 16 : $i));
}
for ($i = $length; $i > 0; $i >>= 1)
{
$context .= ($i & 1)? chr(0) : $plaintext[0];
}

$binary = JUserHelper::_bin(md5($context));

for ($i = 0; $i < 1000; $i++)
{
$new = ($i & 1)? $plaintext : substr($binary, 0, 16);
if ($i % 3)
{
$new .= $salt;
}
if ($i % 7)
{
$new .= $plaintext;
}
$new .= ($i & 1)? substr($binary, 0, 16) : $plaintext;
$binary = JUserHelper::_bin(md5($new));
}

$p = array();
for ($i = 0; $i < 5; $i++)
{
$k = $i + 6;
$j = $i + 12;
if ($j == 16)
{
$j = 5;
}
$p[] = JUserHelper::_toAPRMD5((ord($binary[$i]) << 16) | (ord($binary[$k]) << 8) | (ord($binary[$j])), 5);
}

return '$apr1$' . $salt . '$' . implode('', $p). JUserHelper::_toAPRMD5(ord($binary[11]), 3);

case 'md5-hex':
default:
$encrypted = ($salt)? md5($plaintext . $salt) : md5($plaintext);
return ($show_encrypt)? '{MD5}' . $encrypted : $encrypted;
}
}
*

Silent_Breeze

  • Захожу иногда
  • 171
  • 33 / 0
Re: Восстановление пароля
« Ответ #4 : 24.10.2014, 16:35:24 »
Joomla! 2.5.27 Столкнулся с такой же проблемой.

Вариант с заменой строки в  components/com_users/models/reset.php
Код
$testcrypt = JUserHelper::getCryptedPassword($data['token'], $salt);
на
Код
$testcrypt = JUserHelper::getCryptedPassword($data['token'], $salt, 'md5-hex');
не работает...

Насколько я вижу, с 2012-го года так и не нашлось решения?, или забыли поделиться?
« Последнее редактирование: 24.10.2014, 16:56:31 от Silent_Breeze »
Здесь всё есть... просто нужно поискать немного... ;)
*

Silent_Breeze

  • Захожу иногда
  • 171
  • 33 / 0
Re: Восстановление пароля
« Ответ #5 : 11.11.2014, 19:36:05 »
После долгих поисков вариантов починки "Восстановления пароля" сработал следующий вариант:
Файл components/com_users/models/reset.php, ищем примерно 249-250 строки:
Код
		// Verify the token
if (!($crypt == $testcrypt))

и меняем на:

Код
		// Verify the token
if (!($user->activation == $testcrypt))
Здесь всё есть... просто нужно поискать немного... ;)
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Восстановление пароля
« Ответ #6 : 11.11.2014, 22:47:54 »
После долгих поисков вариантов починки "Восстановления пароля" сработал следующий вариант:
Файл components/com_users/models/reset.php, ищем примерно 249-250 строки:
Код
		// Verify the token
if (!($crypt == $testcrypt))

и меняем на:

Код
		// Verify the token
if (!($user->activation == $testcrypt))

это надо бы в раздел Баги Joomla отписать
*

dmaNik

  • Новичок
  • 8
  • 0 / 0
Re: Восстановление пароля
« Ответ #7 : 28.11.2014, 14:20:41 »
Проблема актуальна Joomla 3.3.0

Не удалось восстановить пароль, поскольку проверочный код был указан неверно. Пользователь не найден

Все "костыли" которые описаны в этой теме стоят.. Помогите пожалуйста, весь интернет излопатил!
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Восстановление пароля
« Ответ #8 : 28.11.2014, 15:20:54 »
Проблема актуальна Joomla 3.3.0

Не удалось восстановить пароль, поскольку проверочный код был указан неверно. Пользователь не найден

Все "костыли" которые описаны в этой теме стоят.. Помогите пожалуйста, весь интернет излопатил!
Актуальная версия = 3.3.6 вроде, на ней есть проблема?
*

dmaNik

  • Новичок
  • 8
  • 0 / 0
Re: Восстановление пароля
« Ответ #9 : 03.12.2014, 08:09:10 »
Актуальная версия = 3.3.6 вроде, на ней есть проблема?
Да, заменили файлы 3.3.6 всё так же.. Не знаю в какую сторону копать. Помогите!!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Перенос старых сайтов на xampp. Восстановление паролей, ошибки доступа и т.п

Автор androv77

Ответов: 2
Просмотров: 3112
Последний ответ 09.04.2024, 09:48:01
от androv77
Не работает регистрация/напоминание пароля, "неверный параметр"

Автор AK901

Ответов: 17
Просмотров: 10106
Последний ответ 31.07.2018, 19:08:08
от vad78
Авторизация на сайте без логина и пароля. Это возможно!

Автор Aeliot

Ответов: 28
Просмотров: 10591
Последний ответ 09.03.2017, 22:30:45
от Septdir
Восстановление сайта

Автор MarinaT

Ответов: 5
Просмотров: 966
Последний ответ 20.04.2016, 12:15:27
от wishlight
Восстановление сайта

Автор olaaa-13

Ответов: 6
Просмотров: 1309
Последний ответ 01.04.2016, 08:21:50
от Ilhom666