mysql user



Автор MadBrozzeR задал вопрос в разделе Другие языки и технологии

PHP+MySQL. Оптимальный вариант управление пользователями. и получил лучший ответ

Ответ от Nikolai Chuvakhin[гуру]
Первый способ годится только для управления пользователями СЕРВЕРА БАЗ ДАННЫХ. Для управления пользователями сайтов (и вообще приложений) его НИКТО не применяет. У приложения может быть сколько угодно пользователей, но само приложение при этом, как правило, имеет только одну учетную запись в таблице mysql.user. Логика очень простая -- у приложения может быть функционал, который не зависит прямо от базы данных. Соответственно, набор прав у приложения может быть иным, нежели набор прав у базы данных. Соответственно, информацию об этих правах надо хранить отдельно от прав доступа к базе данных.
Возьмите для примера WordPress -- там права на создание поста существуют отдельно от прав на его публикацию. А кроме них, есть еще права на редактирование чужих постов.. . То есть WordPress фактически устанавливает "права собственности" на отдельные записи в таблице wp_posts.
Не говоря уже о том, что на бюджетном хостинге прав на управление пользователями сервера баз данных Вам никто не даст.. .
Ваш второй способ -- это гарантия того, что Вас взломают. Хранить пароль открытым текстом -- это плохая привычка. Хранить надо по крайней мере хэш, а еще лучше -- хэш с "солью"...

Ответ от ProPC[гуру]
Если пользователи это те которые будут регистрироваться на сайте то использовать второй способ. а про первый способ - я ничего не понял. что это такое ваще)

Ответ от Капитан Гугл[гуру]
Только второй. Первый - это не способ, это чушь, и я не знаю сайтов, которые его используют. Потому что безопасность такого сайта будет нулевой, и даже лень объяснять, почему. На пальцах: если ключи от кабинетов хранятся в сейфе, то это еще не повод выдавать всем сотрудникам ключи от сейфа.

Ответ от Игорь Киселев[гуру]
у второго способа есть существенный недостаток например:
сразу заметь User - это системная таблица MySQL, а у них другое предназначение.
Создатели MySQL решат сделать в таблице User новое поле и тогда у тебя перестанет работать скрипт обслуживающий регистрацию пользователей. Получиш критичискую ошибку и сответственно сбой работы всего сайта.
GRANT в этом плане безопаснее и он сразу обновляет "Грантовые" системные таблицы MySQL.
И ещё GRANT позволяет делать проверку Connet User по выданному реквизиту доступа с запретом чтения всех таблиц - вот тебе 100% защита сайта от не санкционированного доступа.

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: PHP+MySQL. Оптимальный вариант управление пользователями.
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*