Если вы создаете сайт, который имеет концепцию зарегистрированных пользователей, ваш, скорее всего, подход к реализации вашей собственной системы печенье-и-счета самостоятельно. Я хотел бы, чтобы вы рассмотреть вопрос о передаче, что через oauth2 / OpenID Connect, который (если у вас есть опыт работы с предыдущими системами) намного проще и проще, чем это было в прошлом:
https://developers.google.com/accounts/docs/OAuth2Login
Хотя это может показаться легко построить систему собственных счетов, учитывать особенности, что с помощью учетных записей Google дает вам бесплатно, что в противном случае вам придется писать самостоятельно:
- Подтверждение по элетронной почте
- Восстановление пароля для того, когда пользователи неизбежно забывают
- Войдите в систему, пользовательский интерфейс (возможно, с капчи и многое другое)
- Изменение пароля, удаление учетной записи функциональности
- Пароль анти-брут системы (попытки блокировать угадать на высокой скорости - это часто забывают)
- выход
- Безопасные резервные копии базы данных учетных данных
Это очень, очень базовый набор функций практически все веб-сайты нуждаются. Но вы и ваши пользователи также получают доступ ко всем этим дополнительных вещей, бесплатно:
- Самое главное: нет хранения учетных данных пользователя на вашем сайте: если вы взломан вы не должны беспокоиться о том, как управлять глобальным изменением пароля, поскольку маркеры доступа уже истекли.
- Очень сложный анти-брут логика, которая блокирует атаки подбора пароля в то время, что делает его трудно DoS реального пользователя
- Аутентификация 2-фактора с использованием телефонных номеров, смартфон приложений или YubiKeys.
- Анализ риска Анти-Хакер для пользователей, которые не хотят возиться с 2-фактором AUTH. Это часть системы, над которым я работал. Также распространяется на утраченную систему восстановления пароля.
- Single-знак: многие из ваших пользователей уже есть аккаунты Google и вошли в систему, поэтому один щелчок потока авторизации для вашего сайта удобно, особенно верно, если они доступ к сайту с мобильного устройства или планшета.
- Полный рабочий день команда людей, которые борются с созданием насыпных счетов от вашего имени с помощью проверки телефона, машинного обучения, затемненного JavaScripts и т.д.
- Автоматически получить доступ к постоянному совершенствованию безопасности, которые мы делаем, как недавнее исследование в новые виды аппаратных средств для непрерывного разрешения и различное смягчение анти-XSS.
- Если вы хотите, вы можете попросить доступ к именам пользователей / Профиль фото / язык / часовой пояс / страны и т.д., а также интеграции с Google+, в том числе один клик веб-установки ваших услуг Android приложений, интерактивные сообщения G + и другие дополнительные игрушки. Но обратите внимание, что профиль Google+ не требуется для людей, чтобы войти в свой веб-сайт.
Короче говоря, вы, вероятно, не может соответствовать инвестиции крупных компаний делают в свои системы счета, но вы Можно повторно использовать его легко. Все, кроме самой безопасности сознательной ваших пользователей будет безопаснее, если вы делаете.
Я легко могу предвидеть, что некоторые люди могут сказать, так вот немного FAQ:
Как легко это?
Довольно легко. Eсть "Вход с Google+" кнопка, но вы не хотите этого, потому что это требует от пользователя иметь G + профиль. Вместо того, чтобы это документ, что это необходимо:
https://developers.google.com/accounts/docs/OAuth2Login
После установки его, пользователи приходят на ваш сайт с маркером доступа, который можно использовать с REST API, чтобы получить доступ к пользователям адреса электронной почты (если вы хотите). Вы можете просто использовать адрес электронной почты в качестве идентификатора пользователя в базе данных, в соответствии с нормальным. Есть библиотеки, доступные для общих языков, чтобы упростить вещи дальше.
Конфиденциальность?
Там какое-то влияние: Google знает, какие сайты пользователь вошел. Вы должны предоставить имя для регистрации учетной записи Google, но нет никаких требований по "реального Несс" если не отказаться в Google+, так что если кто-то хочет сделать Satoshi, они могут. К сожалению, телефон проверка требуется, чтобы зарегистрироваться через Tor, как часть объемных элементов управления регистрацией / злоупотребления.
В зависимости от характера вашего сайта, вы должны решить, насколько это важно против дополнительных систем безопасности вы получите доступ.
Действительно ли это более безопасно?
В то время как небольшое количество пользователей не может генерировать 24-символьные случайные пароли для каждого сайта они посещают и никогда не получить подмененное, большинство людей ленивы и быть сайт Bitcoin не изменит. В Google мы обычно видели спамеры пытаются 1 миллион паролей в день, как правило, украденные из небольших сайтов, как ваша. Как Bitcoin мир хорошо знает, перемешанные пароли могут быть отменены на высокой скорости, используя видеокарты. Так что не приходится иметь дело с паролями, большая победа. Как легкий доступ к бесплатным 2-фактора AUTH.