чувствительная ко времени система токенов? - PullRequest
0 голосов
/ 06 июля 2011

Есть ли возможность отправить ссылку по электронной почте, которая содержит параметр url, который проверяет, что ссылка была отправлена ​​сервером, и проверяет, что ссылка была нажата в течение определенного периода времени после создания токена

Ответы [ 4 ]

2 голосов
/ 07 июля 2011

Вы можете выполнить следующую процедуру:

  1. сгенерировать случайный уникальный ключ для каждого запроса пользователя (или для каждого пользователя, которому вы хотите отправить доступ на свой сервер)
  2. сохранить ключ, электронную почту (или логин) пользователя, время создания токена;
  3. отправить ключ пользователю, чтобы он получил доступ к вашему серверу по ссылке

когда пользователь получает доступ к вашему серверу, вы:

  1. Убедитесь, что эта ссылка использовалась ранее (если вы хотите, чтобы ваша ссылка была единовременной возможностью доступа)
  2. проверить, когда был создан токен, и вычислить, находится ли он в пределах разрешенного периода времени (если он не истек)
  3. разрешить пользователю доступ - делать все, что вы хотите
  4. пометить токениспользуется, если вы хотите использовать его один раз.
1 голос
/ 06 июля 2011

Вам просто нужна таблица для хранения токена, адресов электронной почты, сгенерированной даты, даты активации

при создании электронной почты вы сохраняете токен и сгенерированную дату / время

в сообщении электронной почты вы вводите URL, который содержит ссылку на вашу веб-страницу, а также токен и адрес электронной почты. например:

http://mysite.co.uk/activate.aspx?token=jhsdjsdslkwww7474&email=blah@blah.com

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

0 голосов
/ 28 мая 2013

Я бы сохранил случайный UUID в распределенном кеше (для балансированной по нагрузке, многоузловой системы) и продолжил бы то, что упоминал выше woliveirajr. Вы также должны убедиться, что пользователи не будут злоупотреблять вашей системой, поэтому наличие некоторой подготовки в Балансировщике нагрузки (F5) для обнаружения человеческих и программных запросов поможет ввести уровень защиты. Измените свою политику безопасности так, как считаете нужным.

0 голосов
/ 06 июля 2011

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

...