простая авторизация / возможность входа в систему в php - PullRequest
6 голосов
/ 14 января 2009

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

Есть предложения? Мы не говорим здесь о сверхчувствительных данных или данных о платежах, но я также не хочу, чтобы люди портили мой сайт!

требования - на основе php - максимально просто, не нужно наворотов - не Zend Framework, так как я сейчас прокрутил свои самые базовые рамки, спасибо этому посту

Спасибо за ваш вклад.

Ответы [ 4 ]

5 голосов
/ 14 января 2009

Несколько хороших проблем безопасности

  • никогда хранить незашифрованный пароль пользователя в базе данных
  • никогда хранить пароль пользователя или даже хэш пароля в данных сеанса или файла cookie.
  • Если вам нужно убедиться, что вход в систему безопасен, вы должны использовать https.

Я нашел эту статью очень полезной при построении систем входа в систему с помощью файлов cookie:

3 голосов
/ 14 января 2009

«Вы положите глаз, малыш».

Безопасность трудна. Мне неприятно это говорить, но вероятность того, что вы создадите простую и безопасную схему авторизации, довольно мала. Здесь нет простого режима. Поэтому вы можете начать с чтения нескольких кодов аутентификации в различных инфраструктурах / cmses и других местах, где вы можете увидеть, как это сделали другие, и начать исследования.

Вот несколько ссылок: http://www.topmost.se/personal/articles/casual-cryptography-for-web-developers.htm http://pear.php.net/packages.php?catpid=1

0 голосов
/ 14 января 2009

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

Поскольку у вас есть собственная базовая структура, не должно быть слишком сложно включить код аутентификации в каком-то обычном месте.

Некоторые преимущества

  • Не много кода.
  • Не требует переписывание файлов cookie или URL.

Недостатки

  • Не масштабируется до более детального контроль доступа.
  • Нет легкий способ "войти" из».

-
BMB

0 голосов
/ 14 января 2009

Это не так сложно и интересно писать как новичку.

Вам нужно место для хранения ваших данных (скажем, базы данных mysql).

По крайней мере, у вас должно быть поле для входа и поле для пароля. (пароль должен храниться в криптере, например, с помощью sha1 ()).

Теперь вы должны отобразить форму входа. Я полагаю, это нормально для вас.

Что делать, когда мы получаем логин и пароль?

Запросите базу данных, чтобы увидеть, есть ли совпадение с login_base == login_form и password_base == sha1 (password_form).

Если да, вы устанавливаете что-то, например, сеанс.

Так что на странице, где нужно войти, нужно только проверить, есть ли набор сеансов.

Это для основы; затем вы можете добавить несколько уровней и т. д.

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