Авторизация и MySQL

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Авторизация и MySQL

Здраствуйте
Нужно сделать авторизацию пользователей через MySQL

Посоветуйте как єто правильно сделать.

Вот как я себе єто вижу:

1. В index.php форма с полями юзер, пасс.
2. При нажатии кнопки ок, переменные юзер и пасс сохраняются в сессию.
3. Дальше под этими переменными и осуществляется конект к базе $db=mysql_connect("localhost", "$user", "$pass") и, в базе MySQL для юзера назначены определённые права (инсерт, апдейт, селект).

Если я правильно понимаю, то если юзер введёт user="root" pass="", то он получит полный доступ к базе, чего мне-бы очень не хотелось.

Как поступить в таком случае ("localhost", "root", "") должно оставаться без изменений.

может в базу MySQL-я, в таблицу host добавить новый хост (например "news"), и тогда строка конекта к базе будет выглядеть $db=mysql_connect("news", "$user", "$pass").
Возможно ли это? И безопасно-ли.
Если не возможно, подскажите плз. как мне поступить (рута менять НЕЛЬЗЯ).

Как сделать, чтоб юзеру не показывало

Warning: Access denied for user: 'news@localhost' (Using password: YES) in d:\www\news\db.php on line 2

Warning: MySQL Connection Failed: Access denied for user: 'news@localhost' (Using password: YES) in d:\www\news\db.php on line 2

а просто редиректило на логин?
 

tony2001

TeaM PHPClub
>2. При нажатии кнопки ок, переменные юзер и пасс сохраняются в сессию.
>3. Дальше под этими переменными и осуществляется конект к базе $db=mysql_connect("localhost", "$user", "$pass") и, в базе
>MySQL для юзера назначены определённые права (инсерт, апдейт, селект).
делать что-ли нечего - заводить каждого юзера в MySQL ?
заведи себе отдельную таблицу с юзерами и там проверяй
а коннекться всегда под одним и тем же логином/паролем.

>Если я правильно понимаю, то если юзер введёт user="root" pass="", то он получит полный доступ к базе, чего мне-бы
>очень не хотелось.
м-да.
поменять рутовый пароль религия не позволяет.
Аллах и это запретил.
 

mahoune

Guest
To Tony>>
А может у человека для разных пользователей, разные права в таблице! Чтож самомму теперь их обрабатывать?! Вопрос к стати интересный!

To Mr_Max>>
Если ты уж так боишься, и пароль к root тебе менять нельзя, проверь, если пользователь root не выполняй запрос вовсе.

Хотя Tony все-ж прав. В большинстве случаев можно обойтись и без этого!
 

tony2001

TeaM PHPClub
mahoune:
>Вопрос к стати интересный!
бред это.

>если пользователь root не выполняй запрос вовсе.
вот это - точно бред.
 

mahoune

Guest
To Tony>>
А как поступать, если все-же ты хочешь разным пользователям раздать разные права! Я сам конечно делал разные права у пользователей в Apache На разные скрипты и все... И все-же
 

tony2001

TeaM PHPClub
>А как поступать, если все-же ты хочешь разным пользователям раздать разные права!
ну причем тут это ?
ему же явно это не надо!
 

mahoune

Guest
3. Дальше под этими переменными и осуществляется конект к базе $db=mysql_connect("localhost", "$user", "$pass") и, в базе MySQL для юзера назначены определённые права (инсерт, апдейт, селект).
А как с INSERT, UPDATE и SELECT?
 

tony2001

TeaM PHPClub
завести свою собственную градацию доступа и не мучить MySQL по пустякам.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
а если действительно нужно?
протсто есть адм.скрипт, который юзают 5 человек, один новости, другой новости региона, третий, форум..........
я не хочу чтоб один мог лазить по не своей базе, напмер, или мог лазить, но не мог ничего делать... как поступать в таком случае?
разносить скрипти по разным папкам и запирать из Апачем?...
мне так не удобно потом будет за всем следить....
 

RomikChef

Guest
а что - им всем обязательно давать доступ в один этот коммунальный скрипт?
Сделай отдельную админку на каждый скрипт - тебе же потом будет удобнее.
при чем тут папки, апач... - это что - единственный способ авторизации?
Прочитай про сессии.
НЕ НА УРОВНЕ БАЗЫ это делается.
ты вообще не понимаешь.
юзер у твоей базы ОДИН! твой скрипт.
 

Mikkka

Guest
Mr_Max, по поводу прав почитай здесь:
http://www.citforum.ru/programming/digest/access.shtml
А заводить для разных пользователей разных пользователей в mysql наверное всё таки не стоит.
 
Сверху