Меня попросили выполнить аутентификацию без имени пользователя и пароля, каковы мои варианты? - PullRequest
3 голосов
/ 06 октября 2011

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

Я подозреваю, что у меня нет реалистичного способа сделать это, думая, что IP: s, вероятно, изменится, и браузеры будут обновлены, куки очищены и так далее.

Или у меня есть какие-либо варианты?

(не то, что я ищу код, а скорее концепции и псевдо, но язык в проекте - php / js в сочетании с сервером apache)

Ответы [ 6 ]

8 голосов
/ 06 октября 2011

Использование OpenID .

Пусть Facebook, Google, Wordpress или даже Stack Exchange будут выполнять аутентификацию для вас, и людям не нужно будет помнить другой пароль.


В качестве альтернативы:

Многие пользователи уже понимают подпрограмму «забыл мой пароль; проверьте мою электронную почту», так почему бы не просто укоротить ее, попросив ввести свой адрес электронной почты и отправить им URL-адрес для входа со случайно сгенерированным токеном для входа в систему.

После того, как они вошли в систему, оставляйте их в системе до тех пор, пока вы считаете это безопасным.

3 голосов
/ 06 октября 2011

Мы делаем следующее в нашем решении для электронной коммерции:

Мы используем электронную почту в качестве уникального идентификатора.

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

Клиент получит электронное письмо с сгенерированным паролем, если это будет покупка в первый раз. Если это покупка во второй раз, им просто будет предложено войти в систему. Однако ее можно комбинировать с URL-адресом и токеном для входа. Аналогично, для входа на сайт вы можете просто ввести электронное письмо, чтобы получить маркер URL для входа.

Объедините это с долгоживущим cookie-файлом и / или хранилищем данных браузеров, чтобы запомнить данные клиентов (адрес и тому подобное).

Другим вариантом было бы, чтобы они вводили что-то о себе, что они всегда знали, а другие - нет. Однако для этого трудно найти работоспособное на международном уровне решение.

1 голос
/ 06 октября 2011

Учетные данные аутентификации делятся на три варианта;

  • Что-то, что вы знаете - пароли
  • Что-то у вас есть - физические ключи, карточки
  • Что-то, что вы есть - радужная оболочка, сетчатка и другие биометрические данные

Лучшее, что вы можете сделать, это использовать куки, я думаю. Или ... я думаю, вы могли бы попросить их загрузить файл и загрузить этот файл в качестве учетных данных для доступа - та же идея, что и в файле cookie, но вряд ли будет удалена. Однако вам придется тщательно продумать, что помещать в файл - их ID пользователя недостаточно, поскольку его легко взломать. Подойдет случайная длинная строка, которая сохраняется в базе данных на их аккаунте. Ничего, что можно предсказать, и ничего, что можно использовать для угадывания учетных данных другого аккаунта.

1 голос
/ 06 октября 2011

Вы можете использовать так называемые супер-куки, которые являются автономным хранилищем на стороне клиента. Либо через html5 автономное хранилище, либо через плагин, например, flash, чтобы восстановить удаленные куки. Хотя эти куки, скорее всего, в какой-то момент будут запрещены, так как они в основном скрыты для пользователя и от них очень трудно избавиться. (Не рекомендую этот подход, просто говорю, что это возможно)

0 голосов
/ 06 октября 2011

На ум приходит пара вариантов:

  • Используйте постоянный файл cookie , но только делают это в сочетании с SSL (такон просто не может быть прослушан с провода)

  • Другой вариант - это OpenID, который вы используете здесь - поэтому vistors может использовать учетную запись, которую они часто используют для входа в системуваш сайт.

0 голосов
/ 06 октября 2011

Мне кажется, что ваш единственный вариант - дать им печенье навсегда и надеяться, что он не будет очищен между посещениями.

Вы можете прочитать о них здесь .

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