![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 16.03.2019
Сообщений: 188
|
![]()
Здравствуйте, возник такой вопрос,
Я делаю авторизацию в базе данных, метод авторизации выбран следующий: в бд будет таблица групп пользователей (ид, что может делать) и таблица пользователей ( логин,пароль, ид группы), то есть на прямую пользователи в бд задаваться не будут. Вопрос в реализации этого: как я это понимаю, я подключаюсь к бд через phpзапрос и в подключении, где логин и пароль мне указывать логин и пароль от рута, а потом ограничивать html формы разными php условиями, которые характерны для пользователей? Верно ли я понял?) Спасибо за внимание, надеюсь доступно объяснил свои мысли=) |
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
а результаты запросов уже зависят от того, что доступно пользователю. p.s. не забудьте о том, что переданные пользователем данные для авторизации (логин и пароль) ОБЯЗАТЕЛЬНО нужно обрабатывать перед использованием. p.p.s. пароль в базе не хранится, там нужно хранить хэш от пароля. см. PHP: Хеширование паролей - Manual |
|
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 16.03.2019
Сообщений: 188
|
![]() Цитата:
Просто мне кажется, это как-то не очень. Но в то же время я не знаю, как сделать по другому, т.к. не знаю, на какой странице поставить mysqli_close, ведь пользователь может в любой момент закрыть сайт. |
|
![]() |
![]() |
![]() |
#4 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
ой-ё-ёй...
срочно читать Самые основы. Как работает PHP. если кратко. на каждой странице, где нужно соединение с БД, делайте require или require_once (почитайте, чем они отличаются. через рекваре грузите файл с коннектом к БД connect.php (имя файла примерное, напишите своё имя файла). Цитата:
открыли соединение, прочитали данные (можно многократные запросы), в конце - закрыли. впрочем, закрывать не обязательно. Как только ваш PHP файл закончит работу, то всё система сама закроет и очистит. отсюда https://www.php.net/manual/ru/mysqli.close.php - Цитата:
поймите, что как только ваш код PHP отработал, то он больше не существует. Недоступны не переменные из этого скрипта, ни открытое соединение, ни HTML код, который он сгенерировал - ничего! Вы обратились к серверу, он открыл ваш PHP файл, выполнил его, отдал Вам результаты в виде HTML кода (конечно, PHP программа может что-то записать вовне (БД, файлы, другие сервера)), закрыл программу и очистил занимаемые ею ресурсы. |
||
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 16.03.2019
Сообщений: 188
|
![]() Цитата:
И крайний вопросик на сегодня, как правильно вставлять сессии в sql запрос? Код:
|
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
что у вас пароль забыл в сессии?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,184
|
![]()
Читать про sql инъекции!!!
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 31.01.2019
Сообщений: 11
|
![]()
Используйте лучше PDO для работы с базой.
И да, пароль пользователя в сессии, ему явно там не место. Попутно с sql инъекции, почитайте про post и get передачу данных. Собственно у вас должен получится примерно такой лог. Пользователь отправил пароль post, отловили его на сервере, пропустили через фильтр, отправили на шифрование, хэш записали в базу, так же слепили хэш для идентификации пользователя можно в куку отдать. В сессию отправили какой то флаг что пользователь true. И на каждой странице проверять, пользователь true или false ) Ну и соответственно если пользователь false вытягивать из куки идентификатор и проверять, сходятся они или нет. Тот что в куке и где то в базе. Если они сходятся, старый идентификатор затирать и выдавать новый. Хотя можно на каждой странице менять идентификатор. Наверное... И обязательно почитайте про PDO. Последний раз редактировалось Alex11223; 04.10.2019 в 08:15. |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
так на шифрование или хэширование?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 16.03.2019
Сообщений: 188
|
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Авторизация вк | oteccc | Работа с сетью в Delphi | 5 | 13.04.2014 13:45 |
C# Авторизация | rule-z | C# (си шарп) | 3 | 16.08.2012 13:37 |
Авторизация | mike5703 | PHP | 9 | 26.03.2012 22:02 |
Обычная авторизация или авторизация на уровне браузера? | calugin | Безопасность, Шифрование | 0 | 13.01.2011 00:34 |
Авторизация | doniyor | JavaScript, Ajax | 1 | 07.11.2009 21:13 |