2010-02-22 2 views
1

Я планирую сделать некоторые динамические PHP-сайты, и мне нужна бесплатная система аутентификации, которая позволяет мне создавать панель управления для администраторов этих сайтов. Он должен содержать:Что такое лучший скрипт аутентификации?

  • Запомнить пароль
  • Забыли пароль
  • Максимальное количество попыток входа в систему за определенный интервал управления
  • пользователи

Спасибо.

ответ

3

Некоторые примечания безопасности: Для того, чтобы избежать многих проблем, которые попадают в аутентификации и авторизации групп OWASP WebApp атаки списка классификации, используйте аутентификации пользователя подсистемы уже реализованы в вашем веб-рамки выбора. Вероятно, у них уже есть защищенный код, который охватывает множество проблем, связанных с аутентификацией и сеансами, и будет , вероятно, гораздо безопаснее, чем все, что вы скатываете самостоятельно.

Если вы абсолютно, положительно, должны катить свой собственный auth или хотите оценить другой; то вы/они должны следовать этим правилам.

  • Внедрите подходящий случайный и неописуемый идентификатор сеанса для использования в файле cookie сеанса.
  • Не разрешайте идентификатор сеанса.
  • Если изменения или учетные данные изменены (например, пользователь был повышен до более высокой безопасности, пользователь изменил свой пароль), то немедленно аннулирует сеанс и запускает новый.
  • Предоставление функции выхода из системы и аннулирование сеанса при выходе из системы.
  • Установить cookie на HttpOnly
  • Всегда заканчивайте сеансы после неиспользования и не выполняйте «сохранить меня вошедшим в систему», повторно подключив пользователя к своей старой сессии http.
  • Убедитесь, что 2 сеанса не могут иметь один и тот же идентификатор сеанса одновременно
  • Убедитесь, что все данные сеанса уничтожены, когда сеанс недействителен. Новый пользователь, входящий, может просто получить назначенный идентификатор сеанса, который использовался ранее. Этот новый сеанс не должен иметь никакого доступа к данным сеанса, которые были установлены ранее против этого идентификатора сеанса.
0

В качестве новичка я предлагаю googling для учебных пособий и учитывая использование фреймворка PHP, например Zend Framework.

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

Дать самостоятельно улучшит вас, как разработчик и научить вас много терминов развития ядра веб и технологий, таких как:

  • XSS
  • криптографически безопасного хэширования
  • HTTPS/SSL
  • CSRF
+4

Похоже, вы только что предположили, что «начинающим разработчикам» должно быть поручено надлежащим образом реализовать защищенный криптографический протокол и защитить его от XSS и CSRF для учетных записей администратора. Я бы * много * скорее, что код, защищающий учетную запись администратора на любом обслуживаемом мной сервисе, был написан кем-то испытанным и, что более важно, имел некоторый обзор и полевое тестирование. – keturn

+0

@keturn: Вы никогда не должны полагаться на что-то расфасованное только потому, что вы ленивы. Вы должны сначала освоить эту технологию до такой степени, что она станет _annoying_, чтобы переписывать ее каждый раз. Только тогда вы должны искать библиотеку или, желательно, писать свои собственные. – hobodave

+1

У меня есть больше уважения к разработчику, который представляет вопрос о форме: «Вы видите какие-либо проблемы с моей схемой аутентификации?» в отличие от «Как мне сделать лучшие логины?!» – hobodave

1

Есть много сценариев, которые там делают это, если вы серьезно относитесь к PHP вы S может написать собственный скрипт аутентификации.

Существует множество ресурсов, которые помогут вам начать, проверить или просто google 'php authentication' (или что-то в этом роде).

http://net.tutsplus.com/videos/screencasts/how-to-build-a-login-system-for-a-simple-website/ http://www.devarticles.com/c/a/MySQL/PHP-MySQL-and-Authentication-101/

Однако вы всегда должны принимать онлайн ресурсы с зерном соли, многие из них не будет касаться аспектов безопасности управления пользователями, такие как XSS и т.д.

Вы также можете проверить из некоторых фреймворков PHP, в которые встроены библиотеки аутентификации, такие как CakePHP или Zend Framework.

1

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

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

У Stoosh есть некоторые хорошие выводы, которые вы, возможно, захотите следовать.

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

 Смежные вопросы

  • Нет связанных вопросов^_^