Jump to content

Ошибка при восстановлении пароля


Valery

Recommended Posts

При утере клиентом пароля, Преста отсылает ссылку на почту клиенту, по которой надо пройти для восстановления. Клиент нажимает на ссылку, идёт переадресация на Престу и сообщение "НЕВОЗМОЖНО ПЕРЕГЕНЕРИРОВАТЬ ПАРОЛЬ". Клиент со скандалом потерян? Проверьте пожалуйста у себя. Версия 1.4.3

 

При этом в более ранних версиях Преста сразу высылала генерированный пароль без ссылок.

  • Like 1
Link to comment
Share on other sites

При утере клиентом пароля, Преста отсылает ссылку на почту клиенту, по которой надо пройти для восстановления. Клиент нажимает на ссылку, идёт переадресация на Престу и сообщение "НЕВОЗМОЖНО ПЕРЕГЕНЕРИРОВАТЬ ПАРОЛЬ". Клиент со скандалом потерян? Проверьте пожалуйста у себя. Версия 1.4.3

 

При этом в более ранних версиях Преста сразу высылала генерированный пароль без ссылок.

 

Работает

Link to comment
Share on other sites

При утере клиентом пароля, Преста отсылает ссылку на почту клиенту, по которой надо пройти для восстановления. Клиент нажимает на ссылку, идёт переадресация на Престу и сообщение "НЕВОЗМОЖНО ПЕРЕГЕНЕРИРОВАТЬ ПАРОЛЬ". Клиент со скандалом потерян? Проверьте пожалуйста у себя. Версия 1.4.3

 

При этом в более ранних версиях Преста сразу высылала генерированный пароль без ссылок.

 

Работает

 

Вру, не работает. Ссылка потому что битая получается, не подставляются данные в шаблон:

 

http://site/password.php?token={path_token}&id_customer={id_customer}

Link to comment
Share on other sites

wagood, мог бы ты по-подробнее написать, в каком файле шаблона что менять. Туплю я в этом... Я правильно понял, что достаточнотакой строки: {url} вместо того длинного пути? Вопрос, где этот путь? Спасибо.

Link to comment
Share on other sites

wagood, мог бы ты по-подробнее написать, в каком файле шаблона что менять. Туплю я в этом...

 

mails/ru/password_query.txt

mails/ru/password_query.html

  • Like 4
Link to comment
Share on other sites

А у меня ничего не получилось... Поставил 1.4.4 думал исправили - нет всё также.... Может сбросите пожалуйста эти 2 файлика? Буду признателен.

Link to comment
Share on other sites

  • 2 weeks later...

Удаляешь это:

 

{shop_url}/password.php?token={path_token}&id_customer={id_customer}

Ставишь это:

 

{url}

 

А вообще проблема возникает у тех у кого в конфиге nginx.conf прописано:

 

server_tokens   off;

  • Like 2
Link to comment
Share on other sites

  • 4 months later...
  • 9 months later...

ссылка изменилась, а страница загружается та же... невозможно перегенирировать пароль. как быть? :(

 

У меня два идентичных магазина (Prestashop 1.5.2), один тестовый на локальном сервере, а второй работает на хостинге.

На тестовом все проверяю и потом заливаю на рабочий.

Была такая же как у Вас проблема - ссылка изменилась но не работала.

Ради теста залил шаблоны писем на рабочий сервер - там все заработало.

 

Разница, если не ошибаюсь, только в URL адресах магазина (таблица ps_shop_url).

Судя по всему, в целях безопасности, в токен хэшируется и адрес(или название) магазина, или ещё что-то.

 

Может быть эта информация окажется полезной

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

1.5.3.1

 

В шаблоне письма на восстановление пароля пофиксил баг - добавил протеряный / между index.php/password.php

Приходит письмо с линком, кликнув на который получаю фэйл

 

Если Вы действительно хотите это сделать - перейдите по ссылке :

http://www.mywebshop.com/index.php/password.php?token={path_token}&id_customer={id_customer}

 

Т.е. токены в мыле по какой-то причине не парсятся...

Идеи?

 

ОБНОВЛЕНО:

 

Включил инглиш локаль

В письме пришло

 

Т.е. не парсится именно перевод...

 

Решено: - вся ссылка в шаблоне заменена на {url}

Edited by Nick Fedchik (see edit history)
  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Решено: - вся ссылка в шаблоне заменена на {url}

Для таких как я, юзеров, распишу подробно.

1. найти файлы

mails/en/password_query.txt

mails/en/password_query.html

Увидеть там ссылку {url} и скопировать

 

2. найти и исправить файлы

mails/ru/password_query.txt

mails/ru/password_query.html

ссылку

{shop_url}/password.php?token={path_token}&id_customer={id_customer}

исправить на

{url}

файлы сохранить

 

Все работает, единственное что, письмо приходит со старым названием ссылки, авот сама гиперссылка - рабочая.

Надо поискать - где править

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

Решено: - вся ссылка в шаблоне заменена на {url}

Для таких как я, юзеров, распишу подробно.

1. найти файлы

mails/en/password_query.txt

mails/en/password_query.html

Увидеть там ссылку {url} и скопировать

 

2. найти и исправить файлы

mails/ru/password_query.txt

mails/ru/password_query.html

ссылку

{shop_url}/password.php?token={path_token}&id_customer={id_customer}

исправить на

{url}

файлы сохранить

 

Все работает, единственное что, письмо приходит со старым названием ссылки, авот сама гиперссылка - рабочая.

Надо поискать - где править

 

Спасибо большое! Если вопрос с "единственно, что письмо приходит со старым названием" ещё актуален, то решение находится в том же файле: mails/ru/password_query.html

 

В той же самой строке нужно сделать два изменения:

 

<td align="left">Если Вы действительно хотите сменить пароль :<br /><a href="{url}">"Название Вашего магазина"</a></td>

 

Где: {url} скопирован из файла "mails/en/password_query.html", а "Название..." прописанный произвольно текст на Ваш выбор. Если очень хочется, то можно прописать в виде ссылки: http://yourdomain.ru.

Link to comment
Share on other sites

По какой причине данные способы могут не работать?

изменения в файлах:

mails/ru/password_query.txt

mails/ru/password_query.htm

не дают абсолютно никакого результата. Я даже ради интереса удалил эти файлы во всех языках. ноль эмоций.

 

Если переключить язык на en, то восстановление пароля успешно проходит и сбрасывается рабочий пароль. А в ru по прежнему приходит ссылка http://***/index.phppassword.php?token={path_token}&id_customer={id_customer}

которая не существует на сайте. открывается 404 страница.

Уже что только не делал...

Хелп!

Link to comment
Share on other sites

Здравствуйте,

 

во-первых, какая версия Престы у Вас стоит?

 

Во-вторых, если у Вас 1.5.3.1, то скопируйте, пожалуйста, сюда изменённые строчки из файлов mails/ru/password_query.txt и

mails/ru/password_query.htm . Решение должно найтись.

Link to comment
Share on other sites

presta последняя 1.5.3.1

mails/ru/password_query.txt

изменено на:

"Если Вы действительно хотите это сделать - перейдите по ссылке :

{url}

{shop_name} - {shop_url}" ну понятно, что это не весь файл, а кусок с изменениями, что бы было видно, что я ниже\выше ничего не приписал.

 

password_query.html

изменена строка на:

<td align="left">Если Вы действительно хотите это сделать - перейдите по ссылке :<br /> <a href="{url}">{url}</a></td>

 

Кажется все как рекомендовали - менял "{shop_url}/password.php?token={path_token}&id_customer={id_customer}" на "{url}", сохранял, перезаливал файлы на сервере.

 

Если как-то влияет, то - шаблон магазина стандартный, кэш отключен, принудительная компиляция... Вручную файлы на сервере не ковырял ранее... включены чпу. Хостинг Namecheap.

 

Спасибо за помощь!

Link to comment
Share on other sites

Спасибо говорить рано. Давайте разберёмся сначала. Уточню:

 

1. Вы этот символ {url} вручную набрали или скопировали из строки под тем же номером (у меня №30)

из Вашего же файла mails/en/password_query.htm?

 

2. Такой же вопрос про текстовый файл: вы копировали добавленный символ из файла mails/en/password_query.txt в Вашем же магазине?

 

3. Про кэш и принудительную компиляцию - грамотно. Но иногда требуется сначала заменить файлы на сервере, потом принудительно почистить кэш (в Престе 1.5.3.1 для этого нужно удалить все файлы из папки cach/smarty/compile, кроме файла index). И только после этого тестировать изменения файлов.

 

Если не поможет, ещё подумаем.

Link to comment
Share on other sites

У меня ощущение, что файлы password_query.txt и password_query.html вообще никакого влияния на данную ситуацию не могут оказать. я не знаю какую функцию выполняет password_query.txt, но password_query.html - это точно всего лишь шаблон\оболочка. И как они могут что-либо создать перенаправить? Мы заменяем явную ссылку с условиями на некую {url}. Но какой файл формирует этот {url}?

 

Я вот сейчас удалил password_query.txt и password_query.html из папки en, кэш был пустой, на сайте переключил на en и восстановил пароль легко и просто. и факт удаления файлов никак не повлиял на результат... как так?!

 

Я в пхп, к сожалению, вообще не але. По этому самостоятельно могу только делать логические (для меня) предположения...

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

Эти файлы отвечают именно за отсылку именно этого вида письма. Как другие файлы в одной с ними папке отвечают за отсылку других видов писем.

 

Вы можете прислать мне Ваши файлы/ру на почту?

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

Странно, но письма нет. Вы ведь убрали скобки из адреса, в которых "собачка" здесь написана? Продублируйте, пожалуйста, Ваше письмо на daisydaisy (@) mail.ru (пробелы и скобки, конечно, нужно убрать).

Link to comment
Share on other sites

  • 3 months later...
  • 4 months later...

Здравствуйте. У меня подобная проблема и у меня не получается с ней справиться.

Делал все как и описано выше, но по прежнему при переходе по ссылке вижу ошибку 

Not Found

The requested URL /index.phppassword.php was not found on this server.

 

Преста у меня 1.5.6.0

Мне кажется что в результате манипуляций я испортил файлы password_query  в папках ру и ен.

Помогите плз.

Link to comment
Share on other sites

  • 2 months later...

Достаточно только в одном файле:

***/mails/ru

password_query.html

Изменить строку:

<td align="left">Если Вы действительно хотите это сделать - перейдите по ссылке :<br /> <a href="{shop_url}password.php?token={path_token}&id_customer={id_customer}">{shop_url}password.php?token={path_token}&id_customer={id_customer}</a></td>

на:

<td align="left">Если Вы действительно хотите это сделать - перейдите по ссылке :<br /> <a href="{url}">{url}</a></td>

ВСЕ! =)

  • Like 1
Link to comment
Share on other sites

а у меня вот такая ошибка вылетает:

 

Warning: File /home/k/kartas/mysite.ru/public_html/password.php is deprecated
in /home/k/kartas/arcada2.webtm.ru/public_html/classes/Tools.php on line 1961

Warning: Cannot modify header information - headers already sent by (output started at /home/k/kartas/mysite.ru/public_html/classes/Tools.php:1961) in /home/k/kartas/mysite.ru/public_html/classes/Tools.php on line 105

Warning: Cannot modify header information - headers already sent by (output started at /home/k/kartas/mysite.ru/public_html/classes/Tools.php:1961) in /home/k/kartas/mysite.ru/public_html/classes/Tools.php on line 108

 

в чем может быть причина?

Link to comment
Share on other sites

  • 3 weeks later...

Достаточно только в одном файле:

***/mails/ru

password_query.html

Изменить строку:

<td align="left">Если Вы действительно хотите это сделать - перейдите по ссылке :<br /> <a href="{shop_url}password.php?token={path_token}&id_customer={id_customer}">{shop_url}password.php?token={path_token}&id_customer={id_customer}</a></td>

на:

<td align="left">Если Вы действительно хотите это сделать - перейдите по ссылке :<br /> <a href="{url}">{url}</a></td>

ВСЕ! =)

 

 

 

Спасибо уважаемый! легко и просто...

Link to comment
Share on other sites

В папке RU

 

Там слов то мало вообще могли бы и сами перевести.

перевести то не проблема, у меня в папке ру, почему то английская версия лежит. какой файл нужно из них править txt или html чтобы шаблон переписался?

Link to comment
Share on other sites

  • 1 month later...

для тех кому интересно решение, то все верно мне писали выше, достаточно изменить одну строчку. вот только никто не сказал, что файл нужно менять в папке mails, которая находится в теме оформления)

Link to comment
Share on other sites

  • 3 months later...

рекомендую менять во всех папках \mails\ru (для всех тем и в корне). При этом желательно делать это непосредственно на сервере, а не через админку...

Link to comment
Share on other sites

  • 1 year later...

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...