|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.10.2019, 11:23 | #1 |
Форумчанин
Регистрация: 16.03.2019
Сообщений: 188
|
Авторизация в php
Здравствуйте, возник такой вопрос,
Я делаю авторизацию в базе данных, метод авторизации выбран следующий: в бд будет таблица групп пользователей (ид, что может делать) и таблица пользователей ( логин,пароль, ид группы), то есть на прямую пользователи в бд задаваться не будут. Вопрос в реализации этого: как я это понимаю, я подключаюсь к бд через phpзапрос и в подключении, где логин и пароль мне указывать логин и пароль от рута, а потом ограничивать html формы разными php условиями, которые характерны для пользователей? Верно ли я понял?) Спасибо за внимание, надеюсь доступно объяснил свои мысли=) |
03.10.2019, 11:36 | #2 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
а результаты запросов уже зависят от того, что доступно пользователю. p.s. не забудьте о том, что переданные пользователем данные для авторизации (логин и пароль) ОБЯЗАТЕЛЬНО нужно обрабатывать перед использованием. p.p.s. пароль в базе не хранится, там нужно хранить хэш от пароля. см. PHP: Хеширование паролей - Manual |
|
03.10.2019, 15:48 | #3 | |
Форумчанин
Регистрация: 16.03.2019
Сообщений: 188
|
Цитата:
Просто мне кажется, это как-то не очень. Но в то же время я не знаю, как сделать по другому, т.к. не знаю, на какой странице поставить mysqli_close, ведь пользователь может в любой момент закрыть сайт. |
|
03.10.2019, 16:06 | #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 программа может что-то записать вовне (БД, файлы, другие сервера)), закрыл программу и очистил занимаемые ею ресурсы. |
||
03.10.2019, 16:33 | #5 | |
Форумчанин
Регистрация: 16.03.2019
Сообщений: 188
|
Цитата:
И крайний вопросик на сегодня, как правильно вставлять сессии в sql запрос? Код:
|
|
03.10.2019, 16:36 | #6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
что у вас пароль забыл в сессии?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
03.10.2019, 18:01 | #7 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
Читать про sql инъекции!!!
|
04.10.2019, 02:57 | #8 |
Пользователь
Регистрация: 31.01.2019
Сообщений: 11
|
Используйте лучше PDO для работы с базой.
И да, пароль пользователя в сессии, ему явно там не место. Попутно с sql инъекции, почитайте про post и get передачу данных. Собственно у вас должен получится примерно такой лог. Пользователь отправил пароль post, отловили его на сервере, пропустили через фильтр, отправили на шифрование, хэш записали в базу, так же слепили хэш для идентификации пользователя можно в куку отдать. В сессию отправили какой то флаг что пользователь true. И на каждой странице проверять, пользователь true или false ) Ну и соответственно если пользователь false вытягивать из куки идентификатор и проверять, сходятся они или нет. Тот что в куке и где то в базе. Если они сходятся, старый идентификатор затирать и выдавать новый. Хотя можно на каждой странице менять идентификатор. Наверное... И обязательно почитайте про PDO. Последний раз редактировалось Alex11223; 04.10.2019 в 08:15. |
04.10.2019, 08:17 | #9 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
так на шифрование или хэширование?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
04.10.2019, 12:08 | #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 |