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

ERTQ

  • Захожу иногда
  • 61
  • 0 / 0
Здравствуйте. Сбой подтверждения запроса сброса пароля по причине: неправильный символ (знак). Вот такая проблема. Помогите решить, пожалуйста.
P.S. На форуме нашел несколько тем по этому поводу, но все описанные решения проблем не помогают - по причине, что все строки в файлах присутствуют, при переходе с почты два поля (логин, код подтверждения) и т.д. Может подскажите где еще посмотреть? Если делать запрос на сброс логина - все работает (Joomla 1.5.21). Благодарю.
*

orioncrew

  • Новичок
  • 2
  • 0 / 0
Та же самая проблема. Все строчки присутствуют в шаблоне.
Версия 1.5.17 обновил до 1.5.22, результата нет.

Есть предположения где копать?
*

orioncrew

  • Новичок
  • 2
  • 0 / 0
Вобщем закинул удочку в /components/com_user/models/reset.php :
Код
function confirmReset($token, $username)
{
global $mainframe;

jimport('joomla.user.helper');

if(strlen($token)!= 32) {
$this->setError(JText::_('INVALID_TOKEN1'));
return false;
}

$db = &JFactory::getDBO();
$db->setQuery('SELECT id, activation FROM #__users WHERE block = 0 AND username = '.$db->Quote($username));

$row = $db->loadObject();

// Verify the token
if (!($row = $db->loadObject()))
{
$this->setError(JText::_('INVALID_TOKEN2'));
return false;
}

$parts = explode( ':', $row->activation );
$crypt = $parts[0];
if (!isset($parts[1])) {
$this->setError(JText::_('INVALID_TOKEN3'));
return false;
}
$salt = $parts[1];
$testcrypt = JUserHelper::getCryptedPassword($token, $salt);

// Verify the token
if (!($crypt == $testcrypt))
{
$this->setError(JText::_('INVALID_TOKEN4'));
return false;
}

// Push the token and user id into the session
$mainframe->setUserState($this->_namespace.'token', $crypt.':'.$salt);
$mainframe->setUserState($this->_namespace.'id', $row->id);

return true;
}
а так же /language/ru-RU/ru-RU.com_user.ini :
Код
INVALID_TOKEN=неправильный символ (знак).
INVALID_TOKEN1=неправильный символ (знак)1
INVALID_TOKEN2=неправильный символ (знак)2
INVALID_TOKEN3=неправильный символ (знак)3
INVALID_TOKEN4=неправильный символ (знак)4

После ввода пришедшего по мылу кода получаем ответ:
Цитировать
Сбой подтверждения запроса сброса пароля по причине: неправильный символ (знак)2.

В PHP слабо разбираюсь, подскажите, какой вывод можно из этого сделать?
*

step-di

  • Захожу иногда
  • 91
  • 5 / 0
способ решения проблемы
открыть файл / компоненты / com_user / модели / reset.php найти строку 126
закомментировать следующие строчки
 // Verify the token
 if (!($row = $db->loadObject()))
  {
   $this->setError(JText::_('INVALID_TOKEN'));
   return false;
  }
или вообще нахрен их удалить
*

kronda

  • Новичок
  • 3
  • 0 / 0
У меня эти строчки есть......Как еще можно бороться?
*

allydawn

  • Захожу иногда
  • 132
  • 13 / 0
  • falling from the sky - day seven
kronda, они у всех есть, сказали же, удалить нужно.
step-di, огромное спасибо, именно это решение мне помогло. мегареспект и жирный плюс.
*

timson

  • Осваиваюсь на форуме
  • 43
  • 3 / 0
Не пашет способ.
Уже от отчаяния удалял все цыклы, гда есть вывод INVALID_TOKEN.
Беспонту. Как отключить сервис восстановления паролей?
*

SolopoV

  • Давно я тут
  • 573
  • 16 / 0
  • зеленею...
У меня трабла в следующем:
Если на странице index.php?option=com_user&view=reset&layout=confirm при вводе, e-mail содержит нечто подобное: xxxx.xxxxxx2014@yandex.ru - тогда вылетает подобная ошибка. То есть, если длинный адрес ещё и с точкой.

Думаю, копать нужно проверку e-mail адресов.
« Последнее редактирование: 07.09.2013, 07:55:34 от SolopoV »
*

Timofey

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
100% работает.
В Joomla в компоненте com_user есть возможность востановить пароль, но иногда возникает ситация когда вроде и делаем все правильно, но сбросить пароль не можем. И получаем сообщение: «Сбой подтверждения запроса сброса пароля по причине: неправильный символ (знак)».

Недавно, и мне пришлось столкнуться с данной проблей, и решение не заставило себя ждать. В одной из версий Joomla изменилась «форма подтверждения учетной записи». Если раньше Вам достаточно было ввести «Код подтверждения», то сейчас необходимо еще и ввести логин. В этом фактически и кроется суть проблемы.
Устанавливая шаблон он «перекрывает» стандартный вывод компонентов, в частности практически все шаблоны перекрывают стандартный вывод компонента com_user. Но, шаблоны не всегда обновленны до последней, актуальной версии. Либо возможен вариант, когда шаблон установлен давно, а Joomla переодически обновляется. Вот здесь мы и получаем проблему: модуль требует передачи двух параметров, а в шаблоне предусмотрен ввод только одного.
Решение проблемы очень простое. В файле «components/com_user/views/reset/tmpl/confirm.php» ищем HTML код отвественный за вывод поля «username»
<tr>
   <td height="40">
      <label for="username" class="hasTip"
         title="
         ::">
         :
      </label>
   </td>
   <td>
      <input id="username" name="username" type="text" class="required" size="36" />
   </td>
</tr>

и вставляем его в Ваш шаблон, находиться он «templates/название_шаблона/html/com_user/reset/confirm.php».
А дальше наслаждаемся работой востановления пароля.
Ссылка на источник: http://webcomme.ru/item/oshibka-joomla-1522-pri-smene-parolya.html
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться