Создание входа пользователя через URL - PullRequest
0 голосов
/ 07 июля 2011

Скажем, у вас есть веб-сайт A и какой-то пользователь B, который зарегистрирован для использования сайта.Если вы отправляете этому пользователю обновления по электронной почте всякий раз, когда сайт обновляется, есть ли способ заставить пользователя войти на сайт.Скажем, например, ссылку, которую вы отправили ему в электронном письме, он должен войти в систему, чтобы просмотреть ее, поэтому есть ли способ, чтобы мы могли автоматически войти в систему этого пользователя, когда он посещает ссылку, а не ему, чтобы ввести егоимя пользователя и пароль снова.Очевидно, что отправка имени пользователя и пароля в URL небезопасна, поэтому искал другие идеи.Любая помощь очень ценится.

Ответы [ 2 ]

1 голос
/ 07 июля 2011

Я не знаю, насколько это безопасно, но как насчет хэша ?

website.com?lh=2sdsdk...

, и вы находите своего пользователя таким:

SELECT * FROM users WHERE MD5 ( concat ( id,'salt',email) )='$_GET[lh]' 

Вы генерируете этот хеш с помощью

$hash = md5($user->id.'salt'.$user->email);

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

1 голос
/ 07 июля 2011

Вы можете сохранить куки на компьютере пользователя, когда они вошли в систему (если они отметят «держать меня в системе» или что-то в этом роде).

Таким образом, если вы найдете куки, когда пользователь вернетсяна ваш сайт, вы будете знать, что вы можете «войти в них».

ОДНАКО:

Файл cookie для каждого компьютера - это означает, что он не обязательно ЖЕ ЧЕЛОВЕК, который придет к вамсайт с этого компьютера.

Вероятно, вам следует предоставить достаточно прав, чтобы приветствовать пользователя по имени или как-то еще, но для доступа к его личной информации или запроса об оплате и т. д. необходимо, чтобы он повторно ввел свое имя пользователя ипароль.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...