Форум программистов, компьютерный форум, киберфорум
Наши страницы

PHP для начинающих

Войти
Регистрация
Восстановить пароль
 
pixel
18 / 11 / 1
Регистрация: 19.05.2009
Сообщений: 1,632
#1

Покажите пример кода PHP с использованием сессий. - PHP

05.02.2014, 15:49. Просмотров 945. Ответов 12
Метки нет (Все метки)

Приветствую.
Подскажите, плиз, простой пример сессии для использования на страницах сайта для ввода и отображения данных в/из БД. Т.е. Планирую секцию авторизации, и если все ок, должна запускаться сессия, но что в нее вносить и как? как потом проверять? и сколько сессия будет длиться?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2014, 15:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Покажите пример кода PHP с использованием сессий. (PHP):

Авторизация на php с использованием сессий. - PHP
У меня сейчас на сайте работает авторизация используя куки. То есть юзер вводит логин и пароль скрипт сверяет их с базой данных и вешает...

Перевести пример кода на PHP - PHP
Здравствуйте! Только стал изучать данный язык, никак не могу понять работу с классами. Нужно перевести аналогичный пример кода на php. ...

Пример кода для обучения PHP - PHP
Могу немного наглеть,но просто просьба,кому не жалко написанный код(не бойтесь,использовать не буду),просто научиться разбирать его - и для...

Подскажите пример кода для реализации следущего (php) - PHP
Нужно чтобы при выборе позиции из выпадающего списка, из БД брался текст соответствующей позиции в выпадающем меню, и отображался на фоне...

Простые задания с использованием сессий - PHP
Задание 1. Спросите имя пользователя с помощью формы и сохраните его в сессии. При обновлении страницы поприветствуйте пользователя. ...

Отсчет времени с использованием сессий - PHP
Подсобите пожалуйста! Мне нужно с помощью сессий написать секундомер отсчета времени пребывания на данной странице. то что делал я ...

12
CloudS
8 / 8 / 3
Регистрация: 29.01.2014
Сообщений: 61
05.02.2014, 23:15 #2
PHP
1
2
3
4
session_start();// на каждой странице, где будет задействована сессия
//после чего доступен глобальный ассоциативный массив  $_SESSION. В него можно сохранять данные из кук (для авторизации)
$_SESSION['login'] // можно создавать там свои ячейки и заполнять их, а потом использовать
$_SESSION['login'] = $_COOKIE['login'];
Добавлено через 9 минут
Вот пример авторизации:
PHP
1
2
3
4
5
6
7
8
9
//когда пользователь залогинился ставим ему куки
setcookie("login", $_POST["login"], time()+9999999);
setcookie("password", $_POST["password"], time()+9999999);
setcookie("id", $myrow['id'], time()+9999999);
// а когда он снова пытается войти записываем это в сессию
$_SESSION['password']=$_COOKIE['password']; 
$_SESSION['login']=$_COOKIE['login'];
$_SESSION['id']=$_COOKIE['id'];
// и пользуемся этим для входа
Добавлено через 1 минуту
А длительность сессии прописывается в настройках сервера!
1
pixel
18 / 11 / 1
Регистрация: 19.05.2009
Сообщений: 1,632
05.02.2014, 23:41  [ТС] #3
а насколько это безопасно?
0
CloudS
8 / 8 / 3
Регистрация: 29.01.2014
Сообщений: 61
06.02.2014, 11:19 #4
Достаточно безопасно, если вы про сессию. А вот куки не совсем безопасны)
0
pixel
18 / 11 / 1
Регистрация: 19.05.2009
Сообщений: 1,632
08.02.2014, 08:50  [ТС] #5
а как поведет себя сайт, если у пользователя запрещены куки?

Добавлено через 18 часов 59 минут
думаю делать без куков - только сессией. но как на страницах проверять авторизацию? только лишь наличие переменной в массиве сессии или каждый раз сверять с БД?
0
ads
363 / 370 / 65
Регистрация: 01.12.2013
Сообщений: 1,629
08.02.2014, 09:36 #6
Цитата Сообщение от pixel Посмотреть сообщение
как поведет себя сайт, если у пользователя запрещены куки?
нормально поведет, id сессий будет в ссылке

Не по теме:

а в каком музее можно найти пользователя с запрещенными куками?

0
pixel
18 / 11 / 1
Регистрация: 19.05.2009
Сообщений: 1,632
08.02.2014, 21:49  [ТС] #7
Цитата Сообщение от ads Посмотреть сообщение

Не по теме:

а в каком музее можно найти пользователя с запрещенными куками?

ну параноики еще встречаются
0
pixel
18 / 11 / 1
Регистрация: 19.05.2009
Сообщений: 1,632
12.02.2014, 21:23  [ТС] #8
повторю вопрос: "как на страницах проверять пройденную авторизацию? только лишь наличие переменной в массиве сессии или каждый раз сверять с БД? "
0
ads
363 / 370 / 65
Регистрация: 01.12.2013
Сообщений: 1,629
12.02.2014, 21:31 #9
Цитата Сообщение от pixel Посмотреть сообщение
только лишь наличие переменной в массиве сессии или каждый раз сверять с БД? "
если вы в реальном времени захотите кого-нибудь забанить или вообще исключить из системы, тогда проверки флага в сессии недостаточно - придется сверятся с базой. При проверке по переменной удаленный чел будет продолжать обладать разрешениями..
0
pixel
18 / 11 / 1
Регистрация: 19.05.2009
Сообщений: 1,632
12.02.2014, 21:39  [ТС] #10
у меня не настолько грандиозный проект. просто не хочу, что бы не реганый юзер имел доступ к данным. Соответственно, что бы посторонний чел не попал к этим данным и хочу использовать авторизацию, но пока что не понимаю всей картины. чел проходит авторизацию, происходит сверка данных с БД и ... что дальше? вешать в переменные сессии логин и пароль в открытом виде и на каждой странице сверять с БД?
0
ads
363 / 370 / 65
Регистрация: 01.12.2013
Сообщений: 1,629
12.02.2014, 21:51 #11
Цитата Сообщение от pixel Посмотреть сообщение
вешать в переменные сессии логин и пароль
сохранять логин и хэш например md5 пароля.. а не пароль. если неохота сверять каждый раз с базой - сохранять при авторизации что-то типа :
PHP
1
$_SESSION['authorized']=true;
в защищенных страницах писать такой говнокод
PHP
1
2
3
 if(empty($_SESSION['authorized'])){
  die('by');
}
0
pixel
18 / 11 / 1
Регистрация: 19.05.2009
Сообщений: 1,632
12.02.2014, 22:51  [ТС] #12
ну а подменить эту переменную посторонний чел не сможет? и опять же, я так понял что старт сессии будет с файла, в котором происходит запрос в БД. соответственно, если авторизация прошла - вешаем переменную и переходим к файлу с данными, а если авторизация не удачная? сессия то уже запущена будет - это не критично?
0
ads
363 / 370 / 65
Регистрация: 01.12.2013
Сообщений: 1,629
12.02.2014, 23:17 #13
Цитата Сообщение от pixel Посмотреть сообщение
сессия то уже запущена будет - это не критично?
ну и пусть себе стартует, на скорость не влияет.
Цитата Сообщение от pixel Посмотреть сообщение
ну а подменить эту переменную посторонний чел не сможет?
как ее подменишь,она на сервере хранится. теоретически подменить можно id сессии, но живет он недолго, так что шансов исчезающе мало..
1
12.02.2014, 23:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2014, 23:17
Привет! Вот еще темы с ответами:

Работа сессий в php - PHP
Доброго времени суток! Учусь использовать сессии. Сначала открываю её: session_start(); потом кладу туда нужные мне переменные, потом...

Срок сессий в PHP - PHP
Интересно, что происходит с сессиями после того, как пользователь не заходил долго на сайт. Серваку-то не поступает информация о том, что...

Использование сессий в php - PHP
Всем привет. Я написал код регистрации, авторизации на php с использованием бд. Вот теперь стал вопрос над тем, чтобы после авторизации...

Готовые примеры PHP сессий - PHP
Кто-нить занимался на PHP сессиями, очень буду благодарен за примеры )


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru