Область применения сессий

Gorynych

Посетитель PHP-Клуба
Фанат вау! Понеслось? ;-)

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

так как PHP работает по принципу запрос-ответ, и сценарий каждый раз запускается заново, механизм сессий... Блин! Да что я все пришу сессия? Начнем с того, что session - это сеанс. Сеанс, Рома, сеанс работы. Это окружение этого самого сеанса. И использовать его по назначению (т.е. для хранения общих для сеанса переменных и т.п.) это нормально. Это естественно.

нет, солнце мое, заводить сессию для того, чтобы хранить информацию о том, поддерживается ли кука мы не КОНЕЧНО будем. Мы будем работать с естественным мехенизмом окружения сеанса, а если нам так уперлось знать, включены ли куки, то мы можем и эту информацию туда сохранить, чтобы не делать лишних презагрузок страниц.

улавливаешь разницу? Не для того чтобы сделать это, а это можно и туда сохранить...
 

Фанат

oncle terrible
Команда форума
Я считаю, что механизм сессий служит для персонификации контента.
Во всех остальных случаях от него больше вреда, чем пользы.
Запрет кэширования.
Кривые урлы.

И не надо говорить о том, что и то и другое можно отключить.
Можно.
и это останутся старые добрые банальные куки.
Вот о них-то, как раз, я считаю, ты и написал в своём посте.
 

Gorynych

Посетитель PHP-Клуба
уупс! А я-то подумал, куда делся постинг и ... пересоздал его :)

Прибей тогда в треде про куки еще раз. А я пока попробую развить свою мысль и ответить на твой пост. ок?

-~{}~ 07.07.06 12:22:

Автор оригинала: Фанат
Я считаю, что механизм сессий служит для персонификации контента.
Во всех остальных случаях от него больше вреда, чем пользы.
...
...и я с этим безусловно согласен. Ключевое слово - персонификация.

ну а теперь о контенте, как о содержимом. Я тут заглянул в электронные словари и неожиданно для себя выяснил, кто большинство из них толкует этот термин совершенно иначе, чем это мне интуитивно представлялось. Хотя... вот это пожалуй ближе всего:
Персонификация - наделение животного, предмета, явления природы или социальной структуры человеческими свойствами.
т.е поговорим о наделении содержимого некоторыми человеческими свойствами, такими как узнавание, и способность поддерживать диалог.

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

поэтому я рассматриваю механизм сессии прежде всего как способ сохранения окружения сеанса. Это время последнего обращения по ссылке "посмотреть новые сообщения", пять-десять последних адресов, посещенных пользователем на ресурсе. Не важно что именно, и не важно идет речь о зарегистрированном пользователе или нет. Меня вообще угнетают ресурсы, которые с первого же момента настойчиво предлагают мне зарегистрироваться. Я могу и хочу взаимодействовать с ресурсом в процессе моего посещения (в течении моего пребывания на ресурсе) и ресурс может поддерживать историю, окружение моего сеанса без всякой регистрации.

это и будет моя "сессия", мой сеанс работы с ресурсом. И это здорово! Вау! И для этого совершенно не важно, как PHP будет поддерживать сеанс - через куки, или через передачу идентификатора через ссылки. Вопросы выбора способа поддержания сеанса, защиты от перехвата и т.п. - это вопросы стратегии и тактики реализации безопастности и т.п.

там, где предполагается взаимодействие посетителя и ресурса в процессе посещения/пребывания посетителя на ресурсе, там мы имеем дело с сеансом работы пользователя. И у нас есть для этого прекрасное средство - механизм сессий.
 

Фанат

oncle terrible
Команда форума
1. ты ополчился на авторизацию. считая её единственным, по моему мнению, метсомиспользования сессий.
неявная авторизация, такая как анонимная корзина - входит в это понятие?
 

Gorynych

Посетитель PHP-Клуба
Фанат
забей на авторизацию! я ее приплел сюда только потому, что постоянно сталкиваюсь с тем, что люди упорно смешивают одно с другим. Я просто пытаюсь отделить эти вещи друг от друга. Возможно - слишком демонстративно пытаюсь, из-за чего происходит обратный эффект.

нихт! авторизация тут не при чем, договорились?

Тезис: механизм сессий - это практически встроенный в PHP инструмент для имитации окружения приложения. Мы можем использовать этот механизм для хранения и чтения данных, имеющих отношение ко всему сеансу работы пользователя с веб-ресурсом.

P.S. фразу "ко всему сеансу работы" не надо понимать как догму :)
 
Сверху