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

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

09.10.2020, 20:20. Показов 5084. Ответов 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,936
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,936
10.10.2020, 15:07
Verolomstvo, какой банк?
0
Заблокирован
10.10.2020, 15:11
estic, Белвнешэконом

Добавлено через 2 минуты
Цитата Сообщение от sad67man Посмотреть сообщение
Это некорректное сравнение, интернет магазин и интернет-банкинг
ага, если этот интернет-магазин ещё и какая-нибудь шарага, ГДЕ НАПИСАН АДРЕС - ВЛАДИВОСТОК И УСЛОВИЯ ДОСТАВКИ - САМОВЫВОЗ, а я в Орше - Беларусь нахожусь Видел я и такие чудо-ИНТЕРНЕТ-магазины ржал полдня
0
1460 / 1013 / 232
Регистрация: 01.10.2018
Сообщений: 3,936
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
Ответ Создать тему
Новые блоги и статьи
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru