Вопрос

Я спросил А. Подобный вопрос здесь Некоторое время назад, но все ответы предлагали OpenID, которое приятно, но не работает с услугами, которые требуют аутентификации, которые не используют ее (например, eventbrete).

Скажем, я хочу создать приложение, которое перечисляет ваши события из мероприятия BUT, а их аналитика (который включает в себя). Любой человек может подписаться на эту услугу, чтобы перечислить их события. Но поскольку eventbreite не имеет OpenID для аутентификации, мне нужно как-то получить вход пользователя и пароль пользователя для Eventbrite.

Некоторые возможные решения:

  1. Учетные данные хранения в YAML так. Отказ Легко взломано.
  2. У пользователей введите учетные данные в форме на моем сайте, я сохраняю учетные данные в мою базу данных и использую их для входа в Eventbrite. Легко взломано.
  3. Попросите пользователя ввода в учетные данные, и я передаю их непосредственно в Eventbrite без сохранения, и я сохраняю файлы cookie отклика в базу данных, и когда они истекают, у них снова вход. Это легко взломано?

Эта гипотетическая служба также хочет автоматически проверять события (скажем, через Cron), поэтому он не зависит от пользователя, идущего на мой сайт через браузер. Так что куки или вереверие должны храниться где-то.

Дело в том, Спросив этот подобный вопрос о конфиденциальности и безопасности Похоже, вы должны никогда Создайте приложение, которое делает то, что я описываю. Там должно быть каким-то образом строить что-то вроде этого в порядке.

Что такое? Что мне не хватает? Это в порядке, чтобы пойти с # 3 и сохранить печенье (но все же нуждается в пользователю, чтобы отправить свой адрес электронной почты / пароль через форму, которую я отправляю в Eventbrite)? Что является приемлемым решением проблемы?

Это было полезно?

Решение

Не существует безопасного способа сделать это. Вы можете использовать обходные пути, но это об этом.

  1. Хранение паролей в YAML или XML в ClearText определенно выходит
  2. На самом деле даже шифрование и хранение паролей неверно. Ваше приложение понадобится способ расшифровки паролей, поэтому злоумышленник также может расшифровать пароли.
  3. Рекомендуемый способ хранения паролей соль + хэш, но потому что он становится невосприимчивым, он бесполезен в вашем случае.
  4. Из-за 2 и 3, независимо от того, где вы храните учетные данные пользователя, вы уязвимы.
  5. Хранение файлов cookie вместо паролей - лучшая идея. Но опять же, это включает в себя пароль, проходящий через ваш сайт, который не хорош.

Учитывая вашу ситуацию, хранение печенья - лучший подход. Используйте HTTPS на протяжении всего, даже на вашем сайте. Это меньше, чем идеально, а вы и ваши пользователи должны знать об этом.

Другие советы

Eventbrite недавно выпустил новую документацию, описывающую Как реализовать OAUTT2.0 для аутентификации пользователя для перекрестных сайтовОтказ Я бы порекомендовал использовать наши Виджет на основе Javascipt Oauth2.0, который хранит токены аутентификации пользователя в локальном магазине своего браузера по умолчанию. Поскольку токены AUTHENS хранятся в браузере пользователя и предотвращаются доступом доступа другими доменами, вряд ли будет любые утечки безопасности.

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

Большинство сайтов поддерживают только прямой логин с исходным паролем ClearText, поэтому вы должны получить, хранить и обеспечить это тоже. И я бы никогда не доверял тебе этого. Проблема с вашей концепцией заключается в том, что вам требуется пароль для третьей стороны. Решением не в том, чтобы не включать третью сторону, например, мой браузер довольно хорош в хранении и заполнении паролей для меня автоматически (мой жесткий диск защищен паролем). И они тоже десятки других приложений для бумажников пароля тоже. Я бы ничего не выиграл с помощью подписки, используя ваш сервис.

Перед тем как войти в такой бизнес, подумайте, что вы собираетесь быть целью № 1. Facebook, Google невероятно параноидация о безопасности, проводит много времени, деньги и усилия, чтобы сохранить вход в логины. У вас есть те же ресурсы? Тогда вы лучшая цель. Также путем взлома на ваш сервис, они немедленно получают несколько учетных записей, пароли ваших пользователей, также видят, кто всегда восхищает свой пароль.

Для работы с API eventbrite я бы порекомендовал обеспечить, чтобы все соединения были над SSL, и которые вы аутентифицируете, используя user_key, а не имя пользователя и пароль.

Дополнительную информацию о аутентификации для API Eventbrite здесь: http://developer.eventbrite.com/doc/auth/

После входа в систему пользователи могут найти их user_key здесь: http://www.eventbrite.com/userkeyapi.

Это должно предотвратить перехваченную информацию имени пользователя и пароля через провод или читать из локального хранилища данных.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top