powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Авторизация с сессией , php+mysql , session_start
11 сообщений из 11, страница 1 из 1
Авторизация с сессией , php+mysql , session_start
    #39835229
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем! Вспоминаю PHP в связи с началом программирования под Android. Написал несколько страниц по выборке, редактированию данных в формате JSON. Все работает. На стороне файла db_connect.php стоит временная заглушка, где логин, пароль,хост и база вшита уже.(для тестирования). К нему идет подключение из всех страниц с CRUD и в общем то в тесте все работает как надо.
На стороне сервера MySql используется родная авторизация, с прописанными ролями ,триггерами, функциями (то есть без дополнительных велосипедов в виде таблицы users и проч.) И тоже все работает как надо.

Формат работы с php+mysql: точечное соединение/запрос/закрытие соединения. Пароль и логин храниться в классе Java на android (не в инет браузере, а в приватном классе скомпилированного приложения в sndroid. И то только ,если пароль и логин успешный. ). Никаких куков, сессий нет. То есть порядок следующий - подключился/ запросил/отключился.

Но вопрос в общем то назрел, не в разрезе android, а в разрезе PHP, давно хотел дожать. Смотрите, есть небольшой код авторизации на PHP, написал ради теста. Код простой. Я написал простую форму авторизации.

Подскажите пожалуйста, как правильно использовать сессию $_SESSION, чтобы после ввода правильного логина и пароля уже юзать в дальнейшем только сессию? Код авторизации чуть ниже и он прост.

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
<?php
 
 if (isset($_POST['btn'])) {
     
if (empty($_POST['login']) || empty($_POST['pass'])) 
    
{
    echo "Вы что-то не заполнили";
    
} else {
    $log=$_POST['login'];
    $pass=$_POST['pass'];
    $con= mysqli_connect('localhost',$log,$pass,'test_db');
 
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}
 
    }
mysqli_close($con);
 
    }
?>
...
Рейтинг: 0 / 0
Авторизация с сессией , php+mysql , session_start
    #39835405
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сложно вспомнить когда забыл. Особенно когда и не знал.

Может вам просто почитать азы пхп?
...
Рейтинг: 0 / 0
Авторизация с сессией , php+mysql , session_start
    #39835512
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

Не, вы не правы, у меня доступ идет не через дополнительную таблицу users , а через полноценный логин и пароль пользователя базы данных на mysql. То есть нет дополнительного искуственно созданного текстового поля для хранения session_id. Родная аутентификация на mysql. То есть юзер- пользователь базы данных (с полноценным распределением прав, доступом к хранимым процедурам, триггерами и пр.)
Думаю ,что в данной ситуации азы это не то слово. Думаю что при таком классическом варианте защиты пользователя с полноценной ролью вы со своими "не азами" тоже не сможете использовать session))
...
Рейтинг: 0 / 0
Авторизация с сессией , php+mysql , session_start
    #39835517
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...из соображений безопасности естественно не сможете.
...
Рейтинг: 0 / 0
Авторизация с сессией , php+mysql , session_start
    #39835603
OldMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей Лалов,
Что вам мешает записывать в сессию и ID пользователя, и username, и роль, и все что нужно...?
Это на самом деле азы.
...
Рейтинг: 0 / 0
Авторизация с сессией , php+mysql , session_start
    #39835640
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей ЛаловТо есть нет дополнительного искуственно созданного текстового поля для хранения session_id
Оно и не нужно
...
Рейтинг: 0 / 0
Авторизация с сессией , php+mysql , session_start
    #39835641
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OldMaster,

мешает то, что я открыл браузер в режиме разработчика и увидел там и session_id , и переменные login и password , внесенные в сессию)) Это удобно конечно, можно всегда обратиться, но стремно.

Думаю лучше использовать подключение с PDO, и ссылаться на файл подключения из остальных страниц. Без куков и сессий.
...
Рейтинг: 0 / 0
Авторизация с сессией , php+mysql , session_start
    #39835667
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей ЛаловOldMaster,

мешает то, что я открыл браузер в режиме разработчика и увидел там и session_id , и переменные login и password , внесенные в сессию)) Это удобно конечно, можно всегда обратиться, но стремно.

Думаю лучше использовать подключение с PDO, и ссылаться на файл подключения из остальных страниц. Без куков и сессий.

Данные сессии в браузвере не видно. Ну разве что ее id.
...
Рейтинг: 0 / 0
Авторизация с сессией , php+mysql , session_start
    #39835739
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пургу топикстартер гонит
...
Рейтинг: 0 / 0
Авторизация с сессией , php+mysql , session_start
    #39835744
OldMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей Лалов,
автормешает то, что я открыл браузер в режиме разработчика и увидел там и session_id , и переменные login и password , внесенные в сессию)) Это удобно конечно, можно всегда обратиться, но стремно.
Вы увидели куки, т.к. они хранятся в браузере.
А а данные сессии хранятся на сервере, и через консоль разработчика вы их никак не могли увидеть.
...
Рейтинг: 0 / 0
Авторизация с сессией , php+mysql , session_start
    #39835750
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OldMaster,

вы правы, я неверно выразился.
Имел в виду ,что если я при открытии сессии пихаю туда переменные, то их можно выдернуть оттуда, просто вызвав по имени.
Но это в общем то и есть одно из свойств сессии как понимаю. Это по сути разновидность глобальной переменной , которая одновременно является и идентификатором входа, и одновременно хранит информацию, которую я туда внес дополнительно.
Чтобы потом к примеру, при переходе на другую страницу мог ее взять из сессии и использовать по своему желанию.

Написал мини проект под андроид. Там все работает. логин и пароль в случае успешного подключения хранится зашифрованный на время работы приложения в самом приложении. Просто обращаюсь с ним к страницам, которые обрабатывают его и нарезают мне Json (на основные действия CRUD ). На десктопе MS Access + ODBC + MySQL с родной аутентификацией.

Вот решил , раз уж есть десктоп , можно и web интерфейс простенький сделать, и тут впоролся на самом простом, сессиях))
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Авторизация с сессией , php+mysql , session_start
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]