Прокрутка системы веб-аутентификации

Я создаю сайт, для которого требуется аутентификация пользователя и авторизация. Моя первоначальная идея заключалась в том, чтобы написать приложение, используя флеш-фреймворк. Тем не менее, Я узнал, что Flask не имеет встроенной системы аутентификации. У него есть добавочный флажок-логин, но я не получил подтверждения о том, хорошо ли написано это расширение. Я читал, что очень легко получить аутентификацию неправильно.

  • Можно ли переключиться на что-то вроде Django или web2py, которые имеют встроенные системы аутентификации?

  • Хорошие веб-программисты обычно предпочитают использовать проверенные и проверенные системы аутентификации, а не пытаться выкатить их собственные?

  • Есть ли хорошее руководство, демонстрирующее лучшие практики с целью создания системы аутентификации/авторизации?

Спасибо, ребята!

Ответы

Ответ 1

Если вы хотите добавить возможность входа пользователя на свой сайт (то есть аутентификацию и авторизацию), используйте существующую инфраструктуру. Если вы не являетесь экспертом в области безопасности, вероятность написания защищенной системы близка к 0. Это применяется независимо от языка, в котором вы программируете, и независимо от используемой структуры.

К сожалению, я видел, как люди отвечали на этот вопрос следующим образом: "Это не так сложно и весело для кода, как новичок. Вам нужно место для хранения ваших данных (скажем, базы данных mysql). ENCRYPTED версии паролей и т.д. И т.д." Этот ответ ПОЛНОСТЬЮ НЕПРАВИЛЬНО.

Существуют свободные рамки аутентификации, ИСПОЛЬЗУЙТЕ ИХ. Например, Django и web2py имеют встроенные системы аутентификации. Многие фреймворки не имеют встроенной аутентификации (например, Flask, webpy); это не означает, что вы должны развернуть свою собственную структуру. Это просто означает, что вы должны найти стороннее программное обеспечение для проверки подлинности. Для Flask существует флажок-логин.

Итак, ответ на мои исходные вопросы:

1.) Да, или интегрируйте проверенную стороннюю программную систему.

2.) Да, лучшие практики говорят, что НЕ НАПИСАЙТЕ СВОЮ СИСТЕМУ АУТЕНТИФИКАЦИИ. Используйте тот, который уже был построен.

3.) Вам не нужно руководство для создания системы проверки подлинности, потому что вы не должны создавать ее. Однако OWASP - отличный ресурс безопасности.

Вот краткое резюме: Не записывайте свою собственную систему аутентификации. Используйте надежную систему аутентификации. Если у кого-нибудь есть рекомендации для систем аутентификации, которые можно использовать с Python, не стесняйтесь публиковать их.