Ответ от nemke хорош, но я делаю это немного по-другому, и я чувствую, что он немного более защищен и защищен от будущих изменений.Я создаю два дополнительных поля для подтверждения в каждой из моих пользовательских записей, когда они создаются в базе данных.
Что-то вроде следующих полей для каждого пользователя:
userID: getUniqueUserID()
confirmed: false,
confirmCode: getRandomUUID()
confirmCode
хранится отдельно от уникального userID
для каждой записи и должен использоваться только при отправке электронного письма на адрес, использованный при регистрации.Затем я отправляю URL-адрес, подобный следующему:
http://example.com/activate?id=43d24b9ca73&c=16b4cf80-c59a-11e2-8b8b-0800200c9a66
Затем можно получить поля запроса на стороне сервера и использовать id
, чтобы найти конкретную запись пользователя на основеуникальный userID
, убедитесь, что поле c
соответствует confirmCode
в записи, а затем установите для поля confirmed
значение true и сохраните запись конкретного пользователя в базе данных.