У меня есть сайт, на котором пользователи должны подтверждать свою электронную почту, используя типичный сценарий подтверждения электронной почты с определенной (но длинной) ссылкой для подтверждения для каждого пользователя, которая включает обычный хэш-параметр.
ПроблемаУ меня есть то, что у некоторых пользователей возникают проблемы с длинной и сложной ссылкой подтверждения из-за устройства, которое они используют.
Поэтому мне нужно создать альтернативный способ создания уникальной ссылки подтверждения для каждого пользователя, такой какчто ни один шаблон не является очевидным, поэтому его невозможно выяснить и злоупотребить.
Я смотрел на кодирование и декодирование Base62, но тот, который я нашел, основан только на числах, что ограничило бы меня использованиемпоследовательные уникальные идентификаторы пользователя, которые затем создают очевидный последовательный шаблон в закодированных результатах, который можно легко использовать.
Предпочтительно, я хочу решение, которое не потребует от меня изменения БД.
В идеале я хотел бы создать сокращенный URL-адрес, аналогичный тому, как Bit.ly и другиеСокращатели rl создают свои уникальные URL-адреса, но они могут быть закодированы и декодированы либо из идентификатора пользователя, имени пользователя или электронной почты, и предпочтительно имеют кодирование / декодирование, «засоленные» уникальным ключом, чтобы в закодированном коде не возникало шаблонарезультаты.
ПРИМЕР:
Поэтому вместо ссылки для подтверждения, похожей на:
http://domain.com/confirm?email=blah@blah.com&hash=1f3870be274f6c49b3e31a0c6728957f
Я бы хотел, чтобы она выглядела так:
http://domain.com/confirm/Sg5rdn
Где я тогда просто декодировал бы Sg5rdn, чтобы получить имя пользователя, идентификатор пользователя или электронную почту пользователя и подтвердить их.
Возможно ли это?