За последние 24 часа нас посетили 22936 программистов и 1265 роботов. Сейчас ищут 785 программистов ...

Как и где лучше хранить логин/пароль админки сайта

Тема в разделе "PHP для новичков", создана пользователем Oduvan, 4 май 2021.

  1. Oduvan

    Oduvan Новичок

    С нами с:
    4 май 2021
    Сообщения:
    1
    Симпатии:
    0
    Пишу сайт каталог. Сейчас работаю над панелью администратора с авторизацией по сессии и т.д.
    Как лучше хранить данные админа? В самой БД создавать отдельную таблицу или хранить в одной таблице с другими пользователями? В отдельном файле? Как это общепринято и надёжно? - суть вопроса
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.072
    Симпатии:
    1.237
    Адрес:
    там-сям
    Нормальный подход — хранить данные админа в той же таблице, где все пользователи. Админу присвоить право или роль, которое даст ему доступ к админке. (Это называется авторизация ;) ) А другим пользователям такое право не давать. Как именно, решай сам. Может быть хватит поля users.is_admin tinyint(1)

    Но бывает и несколько таблиц для разных категорий пользователей. Мне такой подход не нравится, но приходилось использовать в легаси системах.
     
  3. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    Некоторые умудряются хранить данные доступа к админке даже не в БД, а в СУБД ;)

    Для таких целей можно использовать еще более короткое поле ;) Да-да, нулевой длины :)
    --- Добавлено ---
    Также для админа, если он единственный, можно использовать нулевой id.

    Валика нет, так что теперь могу свободно высказываться по этому поводу :D
     
  4. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    861
    Симпатии:
    132
    То есть если понадобился второй админ, сразу затык возникнет, гениально )
     
  5. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    Фраза «если он единственный» означает, что не понадобится ;)
    --- Добавлено ---
    А если «неожиданно» все же понадобится, добавите доп. поле и отредактируете нужные ф-ции (проверку и т.п.).
     
  6. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    861
    Симпатии:
    132
    То есть предлагается написать так, а потом, если вдруг понадобится, переписать. Как бы намечаются излишки свободного времени ))
    Про роли @artoodetoo выше написал. Скорее, позже может захотеться давать доступ в админку каким-нибудь менеджерам контента или ещё чего там.
     
  7. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    @don.bidon, есть куча проектов, где не предполагается второй админ в принципе! Если что-то кардинально изменится, тогда уже будете роли расписывать. А пока не надо из кофемолки космический аппарат делать. И, это, ТС просил накидать вариантов, не вдаваясь в детали. Я написал в том варианте «если». И выше пояснил, что это означает. Админ, контент-менеджер и т.п. в одном лице. Не, не встречали? :)