Авторизация на сайте php mysql: Авторизация на PHP+MySQL
#1
Авторизация и 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: ‘[email protected]’ (Using password: YES) in d:\www\news\db.php on line 2
Warning: MySQL Connection Failed: Access denied for user: ‘[email protected]’ (Using password: YES) in d:\www\news\db.php on line 2
а просто редиректило на логин?
Содержание
tony2001
TeaM PHPClub
#2
>2. При нажатии кнопки ок, переменные юзер и пасс сохраняются в сессию.
>3. Дальше под этими переменными и осуществляется конект к базе $db=mysql_connect(«localhost», «$user», «$pass») и, в базе
>MySQL для юзера назначены определённые права (инсерт, апдейт, селект).
делать что-ли нечего — заводить каждого юзера в MySQL ?
заведи себе отдельную таблицу с юзерами и там проверяй
а коннекться всегда под одним и тем же логином/паролем.
>Если я правильно понимаю, то если юзер введёт user=»root» pass=»», то он получит полный доступ к базе, чего мне-бы
>очень не хотелось.
м-да.
поменять рутовый пароль религия не позволяет.
Аллах и это запретил.
mahoune
Guest
#3
To Tony>>
А может у человека для разных пользователей, разные права в таблице! Чтож самомму теперь их обрабатывать?! Вопрос к стати интересный!
To Mr_Max>>
Если ты уж так боишься, и пароль к root тебе менять нельзя, проверь, если пользователь root не выполняй запрос вовсе.
Хотя Tony все-ж прав. В большинстве случаев можно обойтись и без этого!
tony2001
TeaM PHPClub
#4
mahoune:
>Вопрос к стати интересный!
бред это.
>если пользователь root не выполняй запрос вовсе.
вот это — точно бред.
mahoune
Guest
#5
To Tony>>
А как поступать, если все-же ты хочешь разным пользователям раздать разные права! Я сам конечно делал разные права у пользователей в Apache На разные скрипты и все. .. И все-же
tony2001
TeaM PHPClub
#6
>А как поступать, если все-же ты хочешь разным пользователям раздать разные права!
ну причем тут это ?
ему же явно это не надо!
mahoune
Guest
#7
3. Дальше под этими переменными и осуществляется конект к базе $db=mysql_connect(«localhost», «$user», «$pass») и, в базе MySQL для юзера назначены определённые права (инсерт, апдейт, селект).
Нажмите для раскрытия…
А как с INSERT, UPDATE и SELECT?
tony2001
TeaM PHPClub
#8
завести свою собственную градацию доступа и не мучить MySQL по пустякам.
Mr_Max
Первый класс.
#9
tony2001
Нажмите для раскрытия…
а если действительно нужно?
протсто есть адм.скрипт, который юзают 5 человек, один новости, другой новости региона, третий, форум……….
я не хочу чтоб один мог лазить по не своей базе, напмер, или мог лазить, но не мог ничего делать… как поступать в таком случае?
разносить скрипти по разным папкам и запирать из Апачем?…
мне так не удобно потом будет за всем следить….
RomikChef
Guest
#10
а что — им всем обязательно давать доступ в один этот коммунальный скрипт?
Сделай отдельную админку на каждый скрипт — тебе же потом будет удобнее.
при чем тут папки, апач… — это что — единственный способ авторизации?
Прочитай про сессии.
НЕ НА УРОВНЕ БАЗЫ это делается.
ты вообще не понимаешь.
юзер у твоей базы ОДИН! твой скрипт.
Mikkka
Guest
#11
Mr_Max, по поводу прав почитай здесь:
http://www.citforum.ru/programming/digest/access.shtml
А заводить для разных пользователей разных пользователей в mysql наверное всё таки не стоит.
Login PHP Class: аутентификация пользователей, хранящихся в базе данных MySQL
Поиск | Все группы классов | Последние записи | Топ-10 чартов | Блог | Форумы | Магазин | Справка |
Классы Антонио Чичча | > | Вход PHP-класс | > | Скачать . zip .tar.gz | > | Форум поддержки (1) | > | Блог | > | Последние изменения |
|
Группы | Оценки пользователей | Приложения | Файлы |
Группы |
PHP 5 | Классы, использующие специальные функции PHP 5 | Посмотреть классы с самым высоким рейтингом |
Базы данных | Управление базой данных, доступ и поиск | Посмотреть классы с самым высоким рейтингом |
Управление пользователями | Записи пользователей, аутентификация и обработка сеансов | Посмотреть классы с самым высоким рейтингом |
Оценки пользователей |
Недостаточно оценок пользователей |
Приложения, использующие этот пакет |
Страницы приложений, использующих этот класс, не указаны.
Если вам известно приложение этого пакета, отправьте сообщение автору, чтобы он добавил сюда ссылку.
Файлы |
Файл | Роль | Описание |
---|---|---|
class_login.php | Класс | Источник класса PHP для входа |
create_database_users_query.sql | Данные | База данных, используемая в примере |
логин_example.php | Пример | Пример сценария |
Файлы |
Файл | Роль | Описание |
---|---|---|
class_login. |