Форум сетевых администраторов
Показаны 27 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- VBulletin 2.x.x (http://netadmin.ws/forum/forumdisplay.php?forumid=45)
-- Ошибка при заказе пароля! (http://netadmin.ws/forum/showthread.php?threadid=2750)


Помещено DicsyDel 20-08-2002 в 15:13:

Ошибка при заказе пароля!

У меня такая вот трабла: Забыл пароль пользователь, жмет напомнить, ему на ящик приходит письмо типа сходите по этой ссылке... идешь по ссылке а там сообщение что типа ссылка просрочена, попробуйте еще разок, пробуешь еще, а оно тоже самое... приходиться пользователю в ручную через АКП менять пароль и слать ему... что за фигня?


Помещено Count 20-08-2002 в 15:42:

Ð_то проявляется только на некоторых юзерах или постоянно?


Помещено Total 20-08-2002 в 15:44:

DicsyDel
У меня то же самое НА ВСЕХ ПОЛЬЗОВАТЕЛЕЙ! Уже пол года как не могу понять в чем дело....
Может кто посоветует что !?

__________________
Интернет форум для всех Ты тут еще не был? ...
рейтинг форумов Админы форумов - сюда!!!


Помещено Count 20-08-2002 в 16:05:

Так. Ð_азбираем как обнуляется пароль. Сначала выводится форма из темплейта lostpw. Далее вызывается member.php?action=emailpassword, где мы видим следующее:

$DB_site->query("INSERT INTO useractivation VALUES (NULL,'$user[userid]','".time()."','$user[activationid]',1)");

Сим мы записываем код активизации и высылаем письмо из темплейта email_lostpw. Смотрим само письмо:

$bburl/member.php?a=pwd&u=$user[userid]&i=$user[activationid]

Вот сама ссылка. Идем по ней опять в member.php:

$user=$DB_site->query_first("SELECT activationid,dateline FROM useractivation WHERE type=1 AND userid='".addslashes($userinfo[userid])."'");

if ($user[dateline]<(time()-24*60*60)) { // is it older than 24 hours?
eval("standarderror(\"".gettemplate("error_resetexpired")."\");");

И находим место, где проверяется просроченность кода. Вот здесь и надо рыть. Попробуйте добавить в темплейт error_resetexpired вывод переменных $user[dateline] и результата выполнения функции time(). Может что проясниться...


Помещено DicsyDel 20-08-2002 в 16:08:

На всех! И что главное такое было и на Vb 222 и после того как перешел на vb 226 всеравно одно и тоже... я грешу на временные зоны... если например на форуме одна а у чувака другая.. ну или что-то в этом роде... помогите плиз!

__________________
-----
http://webta.net


Помещено Count 20-08-2002 в 16:10:

quote:
я грешу на временные зоны... если например на форуме одна а у чувака другая.. ну или что-то в этом роде..

Не оно. Время фиксируется на серваке по внутренним часам с помощью функции time(). Так что надо копать глубже...

Count добавил 20-08-2002 в 16:12:25:
А вот вариант, что старый код активации не удаляется - вполне реально. Имеется в виду тот, который дается при регистрации. Может здесь покопать?


Помещено Total 20-08-2002 в 16:20:

Count
Я сомневаюсь что это из-за ошибки в файле.. .я сравнивал с деволтовами все ок... темплете то же в порядке... Имхо это из-за настроек сервака! Идеи?

__________________
Интернет форум для всех Ты тут еще не был? ...
рейтинг форумов Админы форумов - сюда!!!


Помещено DicsyDel 20-08-2002 в 16:23:

я незнаю.. я не так хорошо шарю чтобы покопать, но если это зафиксить, то очень многим поможет!

__________________
-----
http://webta.net


Помещено Count 20-08-2002 в 16:25:

Total
Сейчас на своем форуме поэкспериментирую. Может на какую мысль натолкнусь...


Помещено DicsyDel 20-08-2002 в 16:28:

А вот насчет сервака я тоже не уверен.... эта трабла наблюдалась на h1.ru, valuehost.ru и co-location у masterhost.ru!! Три разных хостера и везде одно и тоже на 222 и на 226!

__________________
-----
http://webta.net


Помещено Count 20-08-2002 в 16:40:

DicsyDel
Total
У меня траблов не наблюдалось. Попробуем поэкспериментировать. Меняем темплейт error_resetexpired.
Было:
Запрос был отменен, так как с момента запроса прошло более 24 часов. Для создания нового запроса используйте <a href="member.php?s=$session[sessionhash]&action=lostpw">эту форму</a>.

Заменяем на:
Запрос был отменен, так как с момента запроса прошло более 24 часов. Для создания нового запроса используйте <a href="member.php?s=$session[sessionhash]&action=lostpw">эту форму</a>.<br>Время регистрации: $user[dateline], Время сейчас $loctime.

А также в member.php к строке:
if ($user[dateline]<(time()-24*60*60)) { // is it older than 24 hours?

Строчку:
$loctime = time();

После чего пробуем снова восстановить пароль и постим цифры, получившиеся в результате. Может на что натолкнет...
Хотя чую левой пяткой что Total прав, и надо рыть настройки сервака... Но хотябы эти цифры хоть на что-то натолкнут...

Count добавил 20-08-2002 в 16:44:21:
ЗЫ. Маленькое замечание. Не забудьте впоследствии эти изменения убрать


Помещено Total 20-08-2002 в 17:43:

Count
Я перетаскивал полностью свой дистрибутив форума + база на локалку - на локалке все работает отлично... Следовательно... Дело не в скрипте! Притом я уже сказал что сверял с фефолтовами темплеами и файлами - все ок там
Надо думать.. Нужны специалисты, которые могли бы помочь... А еще лучше чтобы кто-нить на вб.ком запостил (кста тама была такая тема), и чтобы тама подсказали... Но нужна лиицензия, я пробовал писать мне на мыло пришло письмо дайте мол им все параметры хостинга (сервак/пасс/логин) и они все проверят.. Но лицензии у меня нет

__________________
Интернет форум для всех Ты тут еще не был? ...
рейтинг форумов Админы форумов - сюда!!!


Помещено Total 21-08-2002 в 14:27:

Ну так есть идеи! ???

__________________
Интернет форум для всех Ты тут еще не был? ...
рейтинг форумов Админы форумов - сюда!!!


Помещено Vanish 22-08-2002 в 09:39:

Идея только одна, берите проверку на старость линка Ж)

__________________
No pity, no mercy, no regret.


Помещено Total 22-08-2002 в 10:08:

Vanish
Всмысле?

__________________
Интернет форум для всех Ты тут еще не был? ...
рейтинг форумов Админы форумов - сюда!!!


Помещено Vanish 22-08-2002 в 10:30:

Total
в прямом: если водка мешает учебе, ну ее нах.. эту учебу, принцип тот же.

__________________
No pity, no mercy, no regret.


Помещено Total 22-08-2002 в 10:37:

Vanish
Ну а конкретнее. Пример %

__________________
Интернет форум для всех Ты тут еще не был? ...
рейтинг форумов Админы форумов - сюда!!!


Помещено DicsyDel 22-08-2002 в 10:49:

Народ! Помоему отклонились от темы! уже вторая страница, а ошибка так и не пропала!

__________________
-----
http://webta.net


Помещено Total 22-08-2002 в 11:01:

DicsyDel
Моя тема была на 4 страницах... И то же не было решения Не волнуйся могут и не решить Ð_то ошибка не скрипта ...

__________________
Интернет форум для всех Ты тут еще не был? ...
рейтинг форумов Админы форумов - сюда!!!


Помещено Vanish 22-08-2002 в 11:08:

Ну убери вот это нахрен
$user=$DB_site->query_first("SELECT activationid,dateline FROM useractivation WHERE type=1 AND userid='".addslashes($userinfo[userid])."'");

if ($user[dateline]<(time()-24*60*60)) { // is it older than 24 hours?
eval("standarderror(\"".gettemplate("error_resetexpired")."\");");

и останешся с водкой Ж)

__________________
No pity, no mercy, no regret.


Помещено Total 22-08-2002 в 12:05:

Vanish
Возникает проблема. Через некоторое время ид начнут повторятся и на мыло будут приходить чужие пассы! Не так ли?

__________________
Интернет форум для всех Ты тут еще не был? ...
рейтинг форумов Админы форумов - сюда!!!


Помещено Vanish 22-08-2002 в 12:11:

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

__________________
No pity, no mercy, no regret.


Помещено Total 22-08-2002 в 12:15:

Vanish
Ð_аботает Только надо на предмет безопасности посмотреть теперь .... Спасибо ...

__________________
Интернет форум для всех Ты тут еще не был? ...
рейтинг форумов Админы форумов - сюда!!!


Помещено Count 22-08-2002 в 12:16:

quote:
Возникает проблема. Через некоторое время ид начнут повторятся и на мыло будут приходить чужие пассы! Не так ли?

Не так... Там на каждого юзера (по идее) должно быть не более одного кода. При создании оного все предыдущие стираются. И выборка происходит по id юзера...


Помещено Total 22-08-2002 в 12:18:

Count
Посмотри тогда этот код что предложил Vanish он безопасен ?

__________________
Интернет форум для всех Ты тут еще не был? ...
рейтинг форумов Админы форумов - сюда!!!


Помещено Count 22-08-2002 в 16:18:

Total
По идее данный вариант вполне безопасен. Все проверки привязаны к ID пользователя. А после проверки кода идет следующее:

$DB_site->query("DELETE FROM useractivation WHERE userid='$userinfo[userid]' AND type=1");

Что удаляет данный запрос из базы.

Но это все равно полумера. Надо разбираться с работой функции time() на серваке. Что-то с ней не так. Если будет время, попробуй вышеприведенные инструкции (где добавляется вывод в темплейте) для получения результатов выполнения этой функции. Может появится хоть какая-то зацепка...

ЗЫ. Мне так и не удалось сымитировать ситуацию ни на локальном компе ни на серваке. Поэтому мне очень интересна причина сей траблы...


Помещено Vanish 23-08-2002 в 10:22:

Count, а там не может как то быть замешана разница во времени? Ну типа на сервере относительно клиента +1 скажем.
Да все же хотелось бы посмотреть работу измененного шаблона, то что Count предлагал выше.

__________________
No pity, no mercy, no regret.


Формат времени GMT. Текущее время 09:33.
Показаны 27 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.