Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
 Аватар для useruser
166 / 90 / 38
Регистрация: 29.06.2015
Сообщений: 1,100

Зачем используют сессии?

09.10.2020, 20:20. Показов 5098. Ответов 85
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Достаточно долгое время занимаюсь веб технологиями и PHP и до сих пор не могу понять зачем (не как, а зачем) используют сессии.

Опишу механизм сессии упрощенно
При сессии пользователю ставится cookie с идентификатором сессии (для PHP - PHPSESSID).
Вся информация пользователя, которую надо сохранить, сохраняется в файлах на сервере.
И при обращении пользователя, сервер читает идентификатор (PHPSESSID) и ищет файлы ассоциированные с этим идентификатором.
Фактически сессия - это куки на сервере.

Механизм кук более простой.
Вся информация пользователя, которую надо сохранить, сохраняется в файлах на компьютере пользователя (в файлах, называемых cookie). И оттуда же читается.

В чем проблема
Проблема в том, что срок жизни сессии устанавливается на сервере.
В связи с этим возникает множество неудобств
1) По умолчанию он 24 минуты.
2) Не всегда есть доступ к php.ini. (Обычный хостинг)
3) Максимальный срок жизни сессии 24 часа.

Моя задача, как программиста сделать использование сайта максимально удобным. Да и как пользователь я хочу чтобы мне было комфортно работать в интернете.

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

Зачем используют сессии, когда есть куки? Куки удобнее, проще, универсальнее.
Не будет "автовыхода" с сайта. Человек сам решит когда ему выйти. Не нужно настраивать сервер. Данные каждого человека хранятся на его компьютере (в его куках). Сплошные преимущества.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.10.2020, 20:20
Ответы с готовыми решениями:

Зачем в PHP сессии?
Всем привет! Интересный вопрос, не правда ли?) Часто слышу такое мнение, что сессии нужны для контроля авторизованности пользователей....

Зачем нужны сессии?
Прочитав около 20 статей о сессиях, так и не понял для чего они нужны. На практике. Разрабатываю веб-проекты на php около 3-4 лет и...

Зачем используют Eclipse?
Здравствуйте. Прочел, что часто как IDE используют eclipse. Какие преимущества и недостатки в этом? Спасибо.

85
Эксперт PHP
3901 / 3239 / 1353
Регистрация: 01.08.2012
Сообщений: 10,916
11.10.2020, 22:53
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от useruser Посмотреть сообщение
а сессия уже истекла и в корзине пусто
Я вас прекрасно понимаю, но вы опять описываете минусы стандартного механизма сессий, который можно заменить другим, где этих минусов не будет.

Лично я никогда не использую встроенные сессии именно по тем причинам, что вы описали. Но мне нравятся сессии Laravel, поскольку они подходят для решения моих задач и у них нет указанных вами проблем.
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
12.10.2020, 17:14
Цитата Сообщение от Jodah Посмотреть сообщение
но вы опять описываете минусы стандартного механизма сессий,
но почему же это минус? Для меня это плюс. Мне, для моих задач, подходит именно такое поведение. И мне как раз ничего не нужно придумывать, просто беру и пользуюсь.

Jodah, useruser, у этой технологии по определению не может быть реализация которая бы решала все вопросы и любую проблему и которая нравилась бы всем. Может быть вы знаете технологию или функцию у которой нельзя найти так называемые "минусы"?
0
 Аватар для useruser
166 / 90 / 38
Регистрация: 29.06.2015
Сообщений: 1,100
12.10.2020, 19:01  [ТС]

Не по теме:

Цитата Сообщение от sasha0012 Посмотреть сообщение
у сессии нет минусов.
У любой технологии есть минусы. Можно сказать - что всё познается в сравнении и это риторика, но человек ошибается.
На то он и человек. Самое простое подтверждение этому - deprecated. А есть и просто неудачные технологии.
Silverlight от майкрософт например.



Цитата Сообщение от Jodah Посмотреть сообщение
стандартного механизма сессий
Я о нем и говорю. Как написано в мануале. Все по инструкции.
Как в Laravel я не знаю.


Не по теме:

Цитата Сообщение от sasha0012 Посмотреть сообщение
у которой нельзя найти так называемые "минусы"
Я вижу этот минус каждый день.
Сегодня искал товар. Открыл 8 магазинов. Долго выбирал. Зарегистрировался и авторизировался в 2х.
Получил купон на скидку за регистрацию.
Зашел в магазин и сделал заказ как неавторизированный пользователь т.к. сессия истекла. Скидки нет т.к. её нужно вводить авторизированным пользователям.

0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
12.10.2020, 19:57
useruser, я понимаю о чём вы, но вы не понимаете о чём я )) Вот вы опять придрались к интернет магазину. Но ведь сессии небыли придуманы только для интернет магазина. Ну не подходят они вам для реализации задуманного, ну так не применяйте их. А вот мне они отлично подходят для другого кейса. И там вообще ни одного минуса. Мало того, заказчиков устраивает даже время жизни сессии по умолчанию (которая прописана в пхп), и мне даже в конфиг лезть не надо.

Вот вы нашли пример где эта технология не решает вашу проблему и говорите что она негодная. Понимаете о чём я? Это бессмысленно. Это тоже самое что сказать: "грузовые автомобили зря придумали, потому что по сравнению с легковыми, они много жрут, да и не такие манёвренные, и в гараж не помещаются, да там вообще одни минусы только".
0
Невнимательный
 Аватар для ft4l
3140 / 1342 / 362
Регистрация: 08.02.2013
Сообщений: 7,864
Записей в блоге: 2
12.10.2020, 20:38
Если касаться основного вопроса
Цитата Сообщение от useruser Посмотреть сообщение
Зачем используют сессии?
То ответ стобы использоывать данные которые временно хранятся на сервере,
с привязкой к клиенту.

Если по поводу авторизованых и неавторизованых, то их немного больше чем две разновидности.
Я-бы разделил так:
1. Что-то впервые попало на сайт . ни кук, ничего, возможно бот.
2. У чего-то передаётся кука поставленная после первого запроса, возможно проверить и поставить куку для ботов.)
3. У чего-то передаётся кука что он не бот, не забанен, возможно обман ))
4. Что-то пытается пользоваться чем-то интерактивным с куками норм, нужен сид , сессии могут помочь
5. У чего-то в куках токен для того чтобы авторизация была постоянной, но нет сид... автоматом аутентифицируется
6. У чего-то есть сид и сессия ещё жива... можно не аутентифицировать в сессии уже всё есть.
... Как минимум например .)

Сессии я-бы стартовал для 5,6 однозначно
для 5 возможно сессия автоматом получит все данные с последней его сессии
этим 1,2 не нужны никакие данные на сервере, а session_start() затратная штука, по FS там чего-то ищет/создаёт
3,4 самое сложное это может быть бот или тот кто был наказан этой бото-кукой но её изменил
Особенно если 3,4 это два в одном ))
0
Заблокирован
12.10.2020, 22:30
x_lab, в обмороке человек там лежит теперь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.10.2020, 22:30

Зачем это используют
Хотел бы узнать зачем используют вот такую работу с памятью в SQL запросах Connection* iconn = SQLPool.GetConnection(); ...

зачем используют 2 read!!!
вот часть кода! begin read(f,i); read(f,i); readtable(t,e1,i); read(f,i); y:=getz(f,t); e1.inf:=e1.inf-y; ...

Зачем используют конструкцию !()
например var isFirefox = ! ! ( navigator . vendor && navigator . vendorSub ) ; зачем !! - отрицание отрицания... мы таким образом...

Зачем придумали и используют массивы?
Здравствуйте , уважаемые члены форума ! У меня глупый вопрос , зачем придумали и используют массивы ?

Зачем используют сегментные регистры в Windows
Вот например кусок кода: .data? CurrDir db MAX_PATH dup (?) buff db 4 * 3 dup (?) .code start:


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

Или воспользуйтесь поиском по форуму:
86
Ответ Создать тему
Новые блоги и статьи
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru