2015-06-30 3 views
-3

Я создаю страницу регистрации пользователя с ссылкой активации электронной почты в laravel 5.1. я отправить ссылку активации введенному правильного адрес электронной address.how найти активации ссылку нажмите из правильного адреса электронной почты, где отправить почтекак отслеживать ссылку активации нажмите на правильный адрес электронной почты

+0

Если вы спрашиваете, как обеспечить, чтобы ссылка активации была нажата с предполагаемой учетной записи электронной почты, а не с другого адреса электронной почты, тогда вы не знаете, как это работает. Если вы отправляете мне письмо по электронной почте, пока вы копируете другого человека, я получаю только письмо, и только я знаю его содержание. Кажется, вы не понимаете, как работает электронная почта – Digitlimit

+0

@ mr.digitlimit Я знаю, как работает электронная почта. – Sekar

ответ

0

Чтобы дать вам представление о том, как это может работать:

  1. Когда пользователь регистрируется генерировать для каждого пользователя уникального маркера для нового пользователя (например, 60be22f4-e849-4676-b64b-c3493e8709e0)
  2. Сохранить этот уникальный маркер в базе данных вместе с именем пользователя и паролем
  3. Отправить этот уникальный маркер вместе с активацией электронная почта (например, в качестве ссылки: http://my-domain.com/user/confirm/60be22f4-e849-4676-b64b-c3493e8709e0)
  4. Когда пользователь нажимает на эту ссылку, поиск уникального идентификатора в вашей пользовательской таблице и отметьте этого пользователя активным/подтвержденным.
0

Там довольно простой способ сделать это:

  1. Магазин «секретный» для каждого пользователя в базе данных, то это должен быть сгенерировано на первое создание и не должен меняться для жизни пользователя в системе. Секрет может быть простой строкой, как «ajchdu8»

  2. Настройка маршрута активации, который содержит идентификатор пользователя и их «активации подписи», как так http://yourdomain.com/activate/ {user_id}/{подпись}

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

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

+0

Я уже сделал этот метод в laravel 5. Мне нужно запретить пользователю, который дает адрес электронной почты, и они нажимают только на этот идентификатор почты. – Sekar

+0

@ user1959811 О чем ты говоришь? Если вы отправляете электронное письмо пользователю, это электронное письмо является уникальным для этого пользователя, и если пользователь получит почту, он просто нажимает на кнопку, чтобы подтвердить, что адрес электронной почты принадлежит ему – Digitlimit

+0

в случае, если эта переадресация пересылается на другой адрес электронной почты и нажмите этот почтовый адрес также. Как мы предотвращаем это событие? Например, я посылаю ссылку активации на адрес A, но пользователь перенаправляет мою ссылку на адрес B и нажимает с адреса B. Мы должны предотвратить этот сценарий и проверить, что пользователь должен щелкнуть по адресу A, а не по адресу B – Sekar

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