2010-01-28 3 views
2

В электронной почте я хочу, чтобы мои пользователи имели возможность щелкнуть ссылку, чтобы подтвердить расписание интервью. Как я могу динамически создавать эти URL-адреса?asp.net уникальный генератор ссылок

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

пример: приглашение.aspx? Qs = 24lkl254524j2re2wtl5y6.

Любые предложения?

+0

Почему бы просто не зашифровать эти данные и не использовать их в качестве вашего запроса? – Wil

ответ

1

Хотя вы могли бы использовать GUID и, возможно, относить его к своему пользователю в своей базе данных, вам нужно будет создать некоторую бизнес-логику вокруг того, как этот GUID исключается вашим приложением. Например, вы можете сказать, что UserA имеет GUID, если этот GUID используется в течение следующих 15 минут, пусть UserA автоматически регистрируется, но через 15 минут заставляет пользователя использовать имя пользователя и пароль.

Аналогичным образом вы можете сделать строку запроса, например u = UserA & time = 1347 & date = 01282001, а затем запустить ее через какой-либо хэш. Когда он вернется, разберите его (чтобы вы не могли использовать MD5), проверьте отметку времени и посмотрите, сколько времени прошло с момента создания этой метки времени. Если он находится в пределах приемлемого временного интервала, пусть пользователь вводит, если не заставляет их использовать имя пользователя и пароль. Это не требует, чтобы вы связывали что-либо с вашим пользователем в своей базе данных, поэтому это может быть более простое решение по сравнению с GUID.

+0

+1 Добро пожаловать в stackoverflow. –

2

Вы всегда можете использовать Guid, используя метод NewGuid.

Лично я бы снял фигурные скобки и дефисы, прежде чем использовать их по ссылке.

0

В случае, если некоторые программисты натолкнулись на эту страницу.

В этой статье: http://www.ietf.org/rfc/rfc4122.txt

Не думайте, что UUID, трудно угадать; ОНИ НЕ ДОЛЖНЫ ИСПОЛЬЗОВАТЬСЯ КАК ОБЕСПЕЧЕНИЕ БЕЗОПАСНОСТИ (идентификаторы, чье личное владение предоставляет
доступ), например. Предполагаемый источник случайных чисел будет
усугубляет ситуацию.

Смежные вопросы