Можно ли как-нибудь хранить роль пользователя в поле password?
Суть в следующем. Нужно реализовать авторизацию пользователей, но с учетом того, что она предполагает 2 вида пользователей: админ и юзер. Предполагается, что логин и пароль хранится в простом текстовом файле, к которому чисто теоретически "злоумышленник" сможет получить доступ. Если с паролем относительно все просто, делаем шифрование, солим и т.д., то как закодировать определение админа или юзера?
Заранее благодарен всем отозвавшимся.
EvgMul: В принципе можно записать флаг администратора в то-же поле где и пароль, и зашифровать. Но в большинстве случаев, когда у злоумышленника есть возможность модифицировать базу, уже ничего не поможет. К примеру он подменить email и восстановит на него админский пароль.
1-й вариант Храните роль хешированую с секретом например или с id пользователя
2. роль в базе может хранится как 10 для админа и 50 для юзера, например. При выводе инфы вы воводите текстом, тоесть код роли не светится нигде. Просто аккуратно ее проверяйте.
3. Даже если злоумышленик узнает роль пользователя, что это ему даст? Достаточно решить вопрос защиты пароля и спать спокойно.
4. Всегда найдется человек, который взломает Вашу защиту, причем не там где Вы ожидаете.
По поводу 3-го пункта. Если он узнает логику определения роли пользователя в базе, ему ничего не помешает зарегаться как юзеру, а потом поменять рольв "базе". На всякий случай скажу, что это академическая задачка, поэтому такие извращения.
Дмитрий Евграфович: Я где-то в комментариях писал, что задачка носит академический характер, поэтому ответит на ваш вопрос я могу только следующим образом: по условию задачи :).
Дмитрий Евграфович: Как вариант, у меня есть идея. В поле "пароль" хранить "md5(passrord)_md5(login+"admin" or "user"). Что скажете по поводу такого варианта?
EvgMul: Вы занимаетесь глупостями. Роль пользователь должен всегда получать user при регистрации. И только админ может ее менять. Пароль хранить md5, имя пользователя без шифрования, роль в виде числа. Это отработанная годами схема. Что в ней Вас пугает. Как юзер сможет изменить свою роль? Если у него нет для этого прав?