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

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

09.10.2020, 20:20. Показов 5198. Ответов 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
Заблокирован
10.10.2020, 14:34
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от sad67man Посмотреть сообщение
вы должны ориентироваться на конечного пользователя
нет, в данном случае в целях безопасности ПОЛЬЗОВАТЕЛЬ ДОЛЖЕН ориентироваться на то, как он должен вести себя на МОЁМ сайте, то есть не логиниться сразу с нескольких устройств, что может у меня вызвать подозрение о попытке поиска уязвимостей на сайте

Добавлено через 2 минуты
Цитата Сообщение от estic Посмотреть сообщение
кошка может погулять и по единственному устройству
во-во, а если их будет несколько залогиненных устройств и они где попало будут валяться? это же увеличивает шанс того, что кто-угодно может выполнять действия на сайте

кстати на многих сайтах есть типа правила - нельзя передавать аккаунт, в этом случае активность с нескольких устройств может быть расценена, как передача ну я утрирую, но это как пример
0
1460 / 1013 / 232
Регистрация: 01.10.2018
Сообщений: 3,950
10.10.2020, 14:35
Цитата Сообщение от Verolomstvo Посмотреть сообщение
на МОЁМ сайте
Ваше право. Мы здесь не о вашем сайте говорим
0
Заблокирован
10.10.2020, 14:40
Цитата Сообщение от estic Посмотреть сообщение
Мы здесь не о вашем сайте говорим
так на чужих пусть ходит с нескольких я не против, у меня только с одного сидят
0
 Аватар для sad67man
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
10.10.2020, 14:47
Verolomstvo, Мне представляется такой диалог
- хочу заходить с нескольких устройств.
- зачем тебе заходить с нескольких устройств, а вдруг у тебя есть кошка?
- у меня нет кошки.
- а что если ты сядешь на девайс и закажешь себе что-нибудь?
- у меня девайсы не валяются где попало.
- а может ты злоумышленник и пытаешься нас взломать
- да наверное мне вообще не стоит заходить на ваш сайт, я буду пользоваться другими, где есть такая возможность)
0
Заблокирован
10.10.2020, 14:53
Цитата Сообщение от sad67man Посмотреть сообщение
- хочу заходить с нескольких устройств.
- зачем тебе заходить с нескольких устройств, а вдруг у тебя есть кошка?
- у меня нет кошки.
- а что если ты сядешь на девайс и закажешь себе что-нибудь?
- у меня девайсы не валяются где попало.
- а может ты злоумышленник и пытаешься нас взломать
- да наверное мне вообще не стоит заходить на ваш сайт, я буду пользоваться другими, где есть такая возможность)
продолжение:
- да, Вы можете даже уехать в другую страну и жить по её законам, если Вас не устраивают нормы поведения в этой
0
 Аватар для sad67man
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
10.10.2020, 14:55
Verolomstvo, Это просто уровень вашей аргументации.
Ключевые фразы хочу заходить с нескольких устройств и где есть такая возможность.
0
Заблокирован
10.10.2020, 14:58
sad67man, у себя только что залогинился в Интернет-банкинге с ПК и потом с мобилы, при обновлении страницы на ПК - разлогин

какой-то дурак там программист в этом банке сидит ерунду какую-то сделал не даёт с нескольких устройств зайти

Добавлено через 1 минуту
Цитата Сообщение от sad67man Посмотреть сообщение
Ключевые фразы хочу заходить с нескольких устройств и где есть такая возможность.
ключевые ответы хотеть не вредно и такой возможности не должно быть в целях безопасности
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
10.10.2020, 15:04
useruser, всё что реализовано в сессиях можно реализовать на куках + БД (или с файловой системой). А чтобы ответить на вопрос: зачем использовать сессию если можно сделать свой велосипед? Ответ очень простой: Чтобы не изобретать велосипед! )) Да и вообще, в пхп куча функций которые можно реализовать самостоятельно. Тот же preg_match_all можно заменить собственным велосипедом. Но зачем?

Видимо у вас просто не возникала необходимость в реализации механизма сессии, поэтому у вас и возник такой вопрос. А если привести пример где это может потребоваться, то вот например в такой ситуации: нет возможности подключить БД, но у пользователя, во время активного сеанса, должны сохраняться какие-то приватные настройки (информация). Даже зная айди сессии, злоумышленник не получит доступ к данным самой сессии.
1
 Аватар для sad67man
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
10.10.2020, 15:07
Verolomstvo, Это некорректное сравнение, интернет магазин и интернет-банкинг. Даже в этом случае, если рассматривать с точки зрения конечного пользователя - он будет переживать за безопасность своих средств. И будет лучше пользоваться тем сайтом, где нужно каждый раз вводить пароль. Поэтому данный пример не противоречит всему что я сказал выше.
0
1460 / 1013 / 232
Регистрация: 01.10.2018
Сообщений: 3,950
10.10.2020, 15:07
Verolomstvo, какой банк?
0
Заблокирован
10.10.2020, 15:11
estic, Белвнешэконом

Добавлено через 2 минуты
Цитата Сообщение от sad67man Посмотреть сообщение
Это некорректное сравнение, интернет магазин и интернет-банкинг
ага, если этот интернет-магазин ещё и какая-нибудь шарага, ГДЕ НАПИСАН АДРЕС - ВЛАДИВОСТОК И УСЛОВИЯ ДОСТАВКИ - САМОВЫВОЗ, а я в Орше - Беларусь нахожусь Видел я и такие чудо-ИНТЕРНЕТ-магазины ржал полдня
0
1460 / 1013 / 232
Регистрация: 01.10.2018
Сообщений: 3,950
10.10.2020, 15:29
Цитата Сообщение от sasha0012 Посмотреть сообщение
Ответ очень простой: Чтобы не изобретать велосипед! ))
В данном случае не совсем так. Может быть проще (или даже единственное, что остается) все полностью переписать, чем бороться с имеющимися ограничениями, настройками по умолчанию и т.п.

Добавлено через 13 минут
Цитата Сообщение от Verolomstvo Посмотреть сообщение
Видел я и такие чудо-ИНТЕРНЕТ-магазины ржал полдня
И что Интернет-магазинов для торговли "по месту" вовсе не должно быть? Просто накладно арендовать помещение и т.д., а товар при этом может пользоваться достаточным спросом даже только по месту.
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
10.10.2020, 15:30
Цитата Сообщение от estic Посмотреть сообщение
В данном случае не совсем так.
в каком конкретно случае? У ТС в теме проблема решается элементарно куками, о чём он сам и написал.

Цитата Сообщение от estic Посмотреть сообщение
Может быть проще (или даже единственное, что остается) все полностью переписать,
для какого-то кейса, да, может быть. А ещё может быть что задача вообще на пхп не решается, и что с того? Механизм сессии бесполезен?
0
Заблокирован
10.10.2020, 15:31
Цитата Сообщение от estic Посмотреть сообщение
все полностью переписать
ага, видел я в самом ФВ Симфони (ЕМНИМ класс Kernel) крутой программист написал метод getProjecDir, который делает
PHP
1
return dirname(__DIR__);
return тут ему зачем, боится потерять то, что уже вернула dirname()?

и везде его суёт getProjecDir() . '/путь', вызывая каждый раз dirname()

он какие тут ограничения снял? хотел выйти в РУТ проекта? так напиши в точке входа

PHP
1
chdir(dirname(__DIR__));
и пиши просто пути ВЕЗДЕ, какие надо
0
 Аватар для sad67man
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
10.10.2020, 15:32
Цитата Сообщение от Verolomstvo Посмотреть сообщение
Видел я и такие чудо-ИНТЕРНЕТ-магазины
Во-первых - если магазин не предоставляет услуги доставки - это еще не значит, что сайт написан плохо, или у него проблемы с безопасностью. Скорее всего, что бизнес либо еще слабо развит и развивается, или вообще не ориентируется на доставку по всему миру. Т.е. это не имеет отношение к программной части сайта.

Думаете все дураки? и не знают элементарных вещей? или же все-таки это зависит от требований - и если есть такая возможность и появится потребность, то может лучше ее предоставить, чем категорически от этого отказываться, не аргументируя тем, что сайт МОЙ, как хочу так и делаю. Когда сайт ВАШ - ваше дело.

Но если вам заказали сделать сайт, то вам будет трудно объяснить это заказчику. Особенно с такой аргументации, типа "да видел я такое, ржал долго потом". А вот мне не понятно, что тут смешного?
0
Заблокирован
10.10.2020, 15:34
sad67man, для заказа в магазине не нужна авторизация с нескольких устройств - вот тут точно нет ничего смешного, а вот с логина на нескольких я лично ржу, видимо автор сайта учёт активности ведёт по устройствам и один аккаунт у него в онлайне отображается, как 10
0
 Аватар для sad67man
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
10.10.2020, 15:46
Цитата Сообщение от Verolomstvo Посмотреть сообщение
для заказа в магазине не нужна авторизация с нескольких устройств
Почему? К примеру один из сайтов, который я сейчас поддерживаю - интернет-магазин для оптовиков, где пользователи набирают товары в корзину по несколько дней.
Они бы даже и не поняли, что на сайте можно заходить только с одного устройства - скорее бы прилетела задача с БАГ-ом, что пользователей постоянно разлогинивает. А при попытке объяснить, тут же бы прилетело куча примеров интернет-магазинов, где такого нет (я же не могу использовать вашу аргументацию, "а вдруг у них кошка" - детский сад). И это я еще могу попытаться объяснить заказчику - но невозможно объяснить всем пользователям, что вы просто неправильно пользуетесь сайтом.
0
Заблокирован
10.10.2020, 15:52
sad67man, так у тебя значит корзина без авторизации, раз существует вероятность потери наполнения, не? У авторизованного такого не должно быть Залогинился с другого устройства - продолжил заполнение, а так значит на одном в сессию пихал а на втором ясен пень потерял.

Иначе как они тогда с нескольких заполняют корзину? Значит данные хранятся постоянно.
0
 Аватар для sad67man
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
10.10.2020, 15:56
Цитата Сообщение от Verolomstvo Посмотреть сообщение
так у тебя значит корзина без авторизации, раз существует вероятность потери наполнени
Вы читайте что я пишу.. где написано про потери наполнения?

Добавлено через 2 минуты
Verolomstvo, У меня то как раз все работает как надо. И с несколькими устройствами и нет проблем с безопасностью. Я просто привел в пример - мысленный эксперимент - что было бы если бы работало по вашему.
0
Заблокирован
10.10.2020, 15:59
Цитата Сообщение от sad67man Посмотреть сообщение
Вы читайте что я пишу.. где написано про потери наполнения?
ну так если не теряют, то зачем им сидеть с нескольких, я не пойму в чём прикол держать в онлайне несколько учёиок, либишь следить сколько и какие у кого устройства? Так пиши в логи новое, если не совпало с имеющимся по учёту

я только так могу это понять, что слежка тупо идёт
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.10.2020, 15:59

Зачем это используют
Хотел бы узнать зачем используют вот такую работу с памятью в 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:


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 31.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru