хеши обычно хранить смысла нет. юзеры будут делать пароли типа 123 или йцукен. как не крути, а БУДУТ. даже если ты говнокодер и самсебеадмин и базу твоего сайтика сольют в первый же день, то мд5 все равно очень быстро сломается по причине лени самого юзера. практика показывает, что сами сайты ломают редко. все пароли добываются обычными троянами, уловками и тупым перебором паролей. но даже если ты захочешь хранить хеши, то crypt умеет делать и пхп, и сам мускуль. при регистрации получил от юзера пароль, получил его хеш и записал в базу этот хеш. при авторизации опять получаешь пароль, берешь от него хеш и сравниваешь с хешем из базы данных. все элементарно и просто.
теперь о базе данных. данные пользователей хранятся в таблицах пользователей. если есть группы пользователей, то должна быть таблица групп. если пользователь имеет доступ к нескольким группам, то должна быть и таблица связи пользователь-группа (например, группа юзеров "новости" имеет доступ только к новостям и группа юзеров "закачки" имеет доступ только к закачкам. а админ имеет доступ к обоим разделам, поэтому он сразу в 2 группах). например: таблица "пользователи" - идентификатор_пользователя (ПК, ЧИСЛО) - имя_пользователя (СТРОКА) - емыло (СТРОКА) - пароль (СТРОКА) <-- тут решать тебе хранить открытый пароль или хеш таблица "группы" (довольно грубо и просто. при желании можно улучшить структуру) - идентификатор_группы (ПК, ЧИСЛО) - группа_по_умолчанию (БУЛЬ) <-- например, группа анонимуса - право_чтение_записей_новостей (БУЛЬ) - право_чтение_записей_закачек (БУЛЬ) - право_запись_новости (БУЛЬ) - право_запись_закачки (БУЛЬ) таблица "группа_пользователь" - идентификатор_пользователя (ПК, ЧИСЛО) - идентификатор_группы (ПК, ЧИСЛО) таблица групп это простой граф, определяющий что может делать группа, а что нет. например, можно создать 2 группы: анонимус и юзер. анонимусы могут только читать, но не могут писать. юзеры могут и то, и другое. On 08/05/2010 10:44 PM, std_out wrote: > Hi all ! > Пришло время делать в моем веб-приложеньице раздельный доступ для разных > категорий пользователей. > Посоветуйте, как организовать авторизацию. > Не в смысле, что там кукисы-сессии, а где и в каком виде наиболее > удобно/безопасно хранить пароли. > Т.е. хранить наверное все-таки в базе данных приложения (в моем случае > MySQL), а вот в какой форме - вопрос ... > В виде простого текста наверное будет неправильно, видимо надо их > как-нибудь шифровать/расшифровывать. > Писать свою процедуру шифрования-расшифровки, думаю, несеръезно. > Как это обычно делается ? > > > -- ubuntu-ru mailing list ubuntu-ru@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru