Как реализовать подтверждение регистрации на сайте

  • Автор темы Автор темы z80live
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.

z80live

Новичок
Как реализовать подтверждение регистрации на сайте

Привет всем.
На очень многих сайтах я вижу как после регистрации приходит уведомительное письмо для подтверждение регистрации на сайте, где нужно пройти по ссылке не позже трёх дрей.
Ссылка для подтверждения содержит в себе некий идентификатор, который привязан к зарегистрированному пользователю и имеет время подлинности ограниченное время, например три дня.
Вопрос: Где лучше хранить такой идентификатор (в базе данных, в файле), который будет привязан к пользователю. И самое сложное как можно реализовать его удаление через определённый период времени, ведь скрипт работает какое то время, как этот идентификатор будет ликвидироваться, никак в толк не могу взять.
Подскажите как лучше реализовать такой механизм.
 
Вопрос: Где лучше хранить такой идентификатор (в базе данных, в файле), который будет привязан к пользователю.
в бд. хранишь ид пользователя и сам идентификатор.
И самое сложное как можно реализовать его удаление через определённый период времени,
при проходе по ссылке удаляешь просто запись из бд
 
о боже какие вселенские проблемы.
пусть скрипт регистрации в самом начале своей работы выполняет запрос на очистку таблицы
 
я бы сделал скрипт который бы проходил по базе раз в н-дней, который бы удалчл всех неактивных и пропавших пользователей,
для этого в базе два поля, ну а так же на такой переодически запускаемый скрипт можно много чиво повесить, рассылки всякие например
 
MySQL 5 + EVENTS это конечно хорошо, но в четвёртой версии такого нет. Мне интересно как это реализовываться вообще, то есть такая фича была придумана задолго до пятой версии. Если это реализовывать как удаление записей в самом начале скрипта, а если записей подлежащих удалению будет 10 000, то это будет явно не производительно. А по заданию раз в N-дней тоже громоздко тем более, что записи нужно не только раз в сутки проверять, а ещё с точностью до часов.
 
то это будет явно не производительно
купишь себе мощный сервер под подтверждение регистраций и все будет работать быстро и весело
 
z80live, а ты думаешь у тебя будет 10000 регистраций в сутки?

Я лично в сайте встроил функционал, который при запуске в каждом модуле пытается запустить init.php. И уже в этом init.php делаю mysql_query("DELETE FROM ... WHERE date<".(time() - 3600)); к примеру. Если у тебя будет 10000 регистраций в сутки, то открытий страниц будет ещё больше, причём каждый раз этот запрос будет выполняться, то есть удаление будет "размазано" по времени и в среднем за запрос будет удаляться меньше 1 регистрации.
 
тем более, что записи нужно не только раз в сутки проверять, а ещё с точностью до часов.
при чём здесь удаление?
Если это реализовывать как удаление записей в самом начале скрипта, а если записей подлежащих удалению будет 10 000, то это будет явно не производительно. А по заданию раз в N-дней тоже громоздко
слушай, ты определись уже!
ты за советом пришёл, или носом вертеть?
 
а смысл такой точности до часов ? в конце концов можно же запись оставить а возможность активации блокировать , ввиду истечение ссрока. и почему если ты раз в н-дней делаеш
("DELETE FROM ... WHERE date<".(time() - 3600)) будет громозко?
 
Я понял надо в таблице (например MySQL базы) организовать что то похожее на стёк, то есть сделать так, что бы строки сохранялись не больше определённого интервала времени.
Как именно сделать так?
 
Автор оригинала: z80live
Я понял надо в таблице (например MySQL базы) организовать что то похожее на стёк, то есть сделать так, что бы строки сохранялись не больше определённого интервала времени.
Как именно сделать так?
Нужно создать таблицу в которой записи будут хранится не более 72 часов. Можно ли это сделать средствами MySQL?
 
ты сказал - организовать что то похожее на стёк :)

в которой записи будут хранится не более 72 часов
а в чем проблема, если они все еще будут там через 75 часов?

Можно ли это сделать средствами MySQL?
нет, используй oracle.. вообще кажись ты не тем занимаешся
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху