Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Проверка токена из письма подтверждения регистраци
Raymond  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 38
Пользователь №: 43562
На форуме: 8 месяцев, 20 дней
Карма:




Раннее я уже создавал тему "UPDATE на основании SELECT или сразу UPDATE?" http://phpforum.su/index.php?showtopic=92347&hl= , спасибо всем ответившим, но , думаю, лучше задать вопрос поконкретнее.

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

Вот какие варианты пришли в голову по повоу проверки из БД:

а) Создать поле token и token_date в самой таблице юзеров, потом в скрипте проверки токена делать лишь запрос:

'UPDATE users SET confirm = 1 WHERE id = ' . $_GET["user_id"] . ' AND token = ' . $_GET["token"] . ' AND token_date = не старше недели AND confirm = 0'

и если mysqli_stmt_affected_rows вернула 0, то посылать.

б) Создать отдельную таблицу с полями user_id, token, date.
В скрипте проверки сделать запрос
'SELECT user_id, token, date FROM reg_tokens WHERE user_id= '.$_GET["user_id"]

Проверить токен и дату, если все нормально, то делать
'UPDATE users SET confirm = 1 WHERE id = ' . $_GET["user_id"]

Что лучше, и если ничто из этого не лучше, то что, по вашему мнению, лучше, чем это? biggrin.gif biggrin.gif biggrin.gif
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 957
Пользователь №: 37872
На форуме: 4 года
Карма: 37




token = ' . $_GET["token"] . ' ohmy.gif
Лучше так не делать! wink.gif


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3706
Пользователь №: 38635
На форуме: 3 года, 6 месяцев, 29 дней
Карма: 198




Цитата (arbuzmaster @ 22.05.2017 - 20:00)
token = ' . $_GET["token"] . '  ohmy.gif
Лучше так  не делать!  wink.gif

Нормально.
Говорят, что это вполне безопасный код, если перед этим есть строки 1-28

Raymond
Цитата
а) Создать поле token и token_date в самой таблице юзеров, потом в скрипте проверки токена делать лишь запрос:
Плохая идея.
Токен нужен тебе только один раз. Вообще один. И он так и будет телепаться всю "жизнь" только из-за того, что его единожды использовали. Мертвое поле в таблице.
Сделай отдельную таблицу token
В ней user_id, expiry_date, active
Если юзер свой аккаунт активировал, то active = false
Если expiry_date прошло, то об этом и сообщаем.

Таким образом, таблица user не будет загажена мертвыми данными.


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 16116
Пользователь №: 6543
На форуме: 8 лет, 9 месяцев, 22 дня
Карма: 304

Трезвый :
6 лет, 7 месяцев, 1 день


Цитата (AllesKlar @ 22.05.2017 - 19:42)
Токен нужен тебе только один раз. Вообще один. И он так и будет телепаться всю "жизнь" только из-за того, что его единожды использовали. Мертвое поле в таблице.
Не факт. Это поле вполне может подойти для автологина. Что бы в кукис не вытаскивать даже намек на пароль.


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3706
Пользователь №: 38635
На форуме: 3 года, 6 месяцев, 29 дней
Карма: 198




Цитата (twin @ 23.05.2017 - 01:25)
Цитата (AllesKlar @ 22.05.2017 - 19:42)
Токен нужен тебе только один раз. Вообще один. И он так и будет телепаться всю "жизнь" только из-за того, что его единожды использовали. Мертвое поле в таблице.
Не факт. Это поле вполне может подойти для автологина. Что бы в кукис не вытаскивать даже намек на пароль.

Нет. Сама идея токена в его
- одноразовoсти
- ограниченного времени использования.
- (опционально) привязка к конкретному действию

Если хоцца хеш для кук и т.п., то пусть делает поле с хешем и его пользует.
Иначе каша, кровь, кишки, проклятье коллег и баги smile.gif


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 16116
Пользователь №: 6543
На форуме: 8 лет, 9 месяцев, 22 дня
Карма: 304

Трезвый :
6 лет, 7 месяцев, 1 день


Я про идею. Назвать хоть горшком можно. Просто не обязательно городить таблицы или поля для токенов, можно совместить полезное с прятным)


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса