Jump to content

Напоминание пароля - детская ошибка


Recommended Posts

Оказалось, что в Simpla совершенно совершенно неверно реализован механизм восстановления пароля пользователем.

Работает правильно только в простейшем случае - если пользователь заказал смену пароля, быстро (через несколько минут) получил письмо, открыл ссылку в том же браузере, тогда восстановление пароля сработает.
В других безобидных ситуациях может уже не сработать.

Например,
1. Если заказать смену пароля в одном браузере, а потом открыть ссылку из письма в ДРУГОМ, то восстановить пароль по ссылке не удастся - Страница не найдена.
2. Если заказать смену пароля, потом ЗАКРЫТЬ браузер, то восстановить пароль по ссылке из письма не удастся уже ни в каком браузере.

Ситуации 1 и 2 - вполне житейские, например, пользователь может использовать по умолчанию для WEB-серфинга один браузер, а просматривать почту в другом - при типовой работе возникнет ситуация 1.

Причина в том, что автор Simpla сильно упростил себе работу, и написал скрипт восстановления пароля в упрощенном виде. При этом использован  принципиально неверный метод - сведения о запросе восстановления пароля запоминаются в сессии, откуда и проистекают вышеописанные ошибочные ситуации.

Надеюсь, уважаемый автор поправит свой явный брак...
 

Link to post
Share on other sites

Как по мне все верно работает, точно такую же систему восстановления используют многие CMS, я лично использую что-то похожее но не на сессиях а на куках.

Заявление Корса херня полная, если так докапываться то вся симпла по его мнению не правильная.

Слушай Корс почему бы тебе не сменить CMS в целом раз ты весь такой недовольный?

Link to post
Share on other sites

Вы считаете это ошибкой - это ваше право :)

Я, например, так не считаю.

 

Спасибо, я воспользуюсь своим правом и буду считать ошибкой, когда по присланному в письме URL открывается - Страница не найдена....

 

...точно такую же систему восстановления используют многие CMS...

 

Если сообщите вместо общих слов что конкретное, можно обсудить...

 

Возьмем, например, VamShop. Система довольно древняя, ей более десятка лет. Создавалась в свое время на основе еще более старой системы, созданной еще в прошлом веке. Так там очень простая и четкая схема - при запросе на восстановление пароля создается случайный код, который записывается в таблицу пользователей. И, соответственно, позже проверяется. Все просто, удобно, работает без ограничений. Изобретено реально еще в прошлом веке...

 

Link to post
Share on other sites

Возьмем, например, VamShop. Система довольно древняя, ей более десятка лет. Создавалась в свое время на основе еще более старой системы, созданной еще в прошлом веке. Так там очень простая и четкая схема - при запросе на восстановление пароля создается случайный код, который записывается в таблицу пользователей. И, соответственно, позже проверяется. Все просто, удобно, работает без ограничений. Изобретено реально еще в прошлом веке...

Спасибо за направление, попробую сделать что-то подобное и возможно выложу на форуме как готовое решение.
Link to post
Share on other sites

я лично использую что-то похожее но не на сессиях а на куках.

 

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

Link to post
Share on other sites

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

Ну это надо быть уникалом чтобы отправить запрос с одного браузера а почту открыть на другом и открыть ссылку в третьем браузере.

Впервые о таком слышу)

Да судя по всему дефект такой же, но спасибо я это исправлю.

Насколько я понял логику Корса, то при отправке запроса выполняется поиск по введенному email и если такой есть то в БД пользователю с этим email записываем заранее сформированный хеш-код, который также подставляется к ссылке в письме, далее при переходе по ссылке сверяется хеш в $_GET и хеш в БД, после происходит авторизация.

Link to post
Share on other sites

Вы правильно поняли метод. Только  автор этой логики вовсе не Kors. Придумано давно, полагаю, это уже азбука работы от неизвестных авторов. Kors всего лишь с этой логикой знаком.

 

Некоторые сведения можно почерпнуть тут:

http://ruseller.com/lessons.php?id=913&rub=37

Link to post
Share on other sites

Интересно почему такой знаток как Корс не предложит такое решение коммюнити абсолютно безвозмездно?

Или деньги для него превыше всего?

Link to post
Share on other sites

Интересно почему такой знаток как Корс не предложит такое решение коммюнити абсолютно безвозмездно?

Или деньги для него превыше всего?

 

Есть несколько причин:

1. Он считает, что довольно непродуктивно плодить исправления ошибок на форуме. По мнению Kors-а, ошибки должен исправлять автор Simpla в дистрибутиве. Чтобы простой пользователь СРАЗУ получал более качественный продукт, а не рыскал по форуму и выискивал рецепты исправления десятков ошибок...

2. Деньги для него не превыше всего. Но исправлять такую ошибку - это некоторая работа, которую не хочется делать бесплатно.

3. По теме Kors уже сделал кое-что конструктивное. Он описал ошибку полно и точно. Предложил также схему решения. Диагностировать ошибку - это совсем не ерунда, как иногда думают. Вот в теме

http://forum.simplacms.ru/topic/11340-%D0%BD%D0%B5-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82-%D0%BD%D0%B0%D0%BF%D0%BE%D0%BC%D0%B8%D0%BD%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%8F/

3.1 mishanya  не смог распознать причину, хотя ТС дал хорошее описание ошибки,

3.2 Noxter задал уточняющий вопрос совсем не в зуб ногой. Причем даже после сообщения Kors-а, когда все было объяснено и разжевано.

Если считаете, что диагностировать ошибки - пустяк, попробуйте описать парочку неизвестных ранее ошибок полностью и обстоятельно...

4. Здесь в теме Noxter сначала в #4 высказался пренебрежительно по поднятому вопросу, а лишь потом, вероятно при некотором размышлении, решил иначе: "я это исправлю". Стало быть, признал наличие ошибки...

5. Судя по тому, что  Noxter не спешит выкладывать свое решение, разработка его не совсем проста и требует некоторых усилий. Само появление вопроса от Noxter-а наводит на такую мысль...

Link to post
Share on other sites

 

  1. Он считает, что довольно непродуктивно плодить исправления ошибок на форуме. По мнению Kors-а, ошибки должен исправлять автор Simpla в дистрибутиве. Чтобы простой пользователь СРАЗУ получал более качественный продукт, а не рыскал по форуму и выискивал рецепты исправления десятков ошибок...

А я считаю что выкладывать исправления - эта таки довольно продуктивно! С учетом того что новых релизов давно не было

 

 

Так там очень простая и четкая схема - при запросе на восстановление пароля создается случайный код, который записывается в таблицу пользователей. И, соответственно, позже проверяется. Все просто, удобно, работает без ограничений. Изобретено реально еще в прошлом веке...

Если там нет проверки по времени запроса - то считаю это не совсем четкой схемой...  

Поскольку ссылки для изменения пароля не должны быть вечно активными. Это может грозить утерей доступа к  акк.

тем более с нынешним разнообразием различного трипера который бомбит почты 

Link to post
Share on other sites

А я считаю что выкладывать исправления - эта таки довольно продуктивно! С учетом того что новых релизов давно не было

 

Все относительно. Вот, допустим, нашел кто-то ошибку. Что дальше? Возможные дальнейшие основные ситуации:

ОС1. Написали на форум сообщение про ошибку.

ОС2. Написали на форум сообщение про ошибку и выложили исправляющую доработку.

ОС3. Добились того, что автор внес исправление в дистрибутив.

 

ОС2, конечно, продуктивнее, чем ОС1 - в этом Ваша правда.

А вот ОС3, не только продуктивнее, чем ОС1 и ОС2, но и вообще представляет собой идеал - и это моя основная идея.

 

Тут на форуме, многие пропагандируют пассивный отсупательный стиль - мол, автор Simpla не хочет действовать по ОС3, потому нам надо действовать по ОС2. А моя позиция - надо больше и резче критиковать этого автора за такое отношение. К сожалению, мало кто из фрилансеров меня в этом поддерживает. А если бы они в каждой теме про ошибку становились в очередь и писали друг за другом "Уважаемый автор Simpla! Проявите серьезное отношение и уважение к своим клиентам, исправьте эту ерундовую ошибку в дистрибутиве", то, возможно, и ситуация поправилась бы. А пока то, что касается исправления ошибок, похоже на болото - застой полный...

 

Если там нет проверки по времени запроса - то считаю это не совсем четкой схемой...

Поскольку ссылки для изменения пароля не должны быть вечно активными. Это может грозить утерей доступа к акк.

тем более с нынешним разнообразием различного трипера который бомбит почты

 

Спасибо за хорошее дельное замечание!

Link to post
Share on other sites
  • 1 year later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...