[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: сессии
paul85
Добрый день, уважаемые гуру!

Вот ломаю голову насчет сессий. Когда-то на глаза попалась статья о том, что стартовать сессию каждому встречному-поперечному не есть хорошо. Насколько это утверждение справедливо?

Кстати, вижу на крупных проектах в куках море различных идентификаторов. Для чего их столько? Они их раздают с большим удовольствием, особо не парятся.

P.s. В Ruby on rails сессионное окружение хранится в куках. В зашифрованном виде. Они сначала хранили в файлах, потом в СуБД, а в последней версии решили почему-то отдавать клиенту. Кто что думает по этому поводу?
kjdgh
куки это мусор в твоём браузере, а не на сервере, вроде как.

_____________
Новичек в программировании и вообще не разбираюсь в этом, так что не вините.



paul85
kjdgh, да понятно, что в браузере. Речь немного о другом. Хорошо или нехорошо стартовать каждому вошедшему на сайт сессию.

Почему возник этот вопрос, собственно? Раньше я стартовал сессию исключительно после авторизации. Ну и еще в некоторых случаях, когда запрос уходит через AJAX. Таким образом если придет робот без поддержки куков, то он не сможет настартовать мне огромное количество сессий. Вот интересует как раз с точки зрения различных атак и прочего.

Потребовалось состряпать капчу, а без сессий ее реализовать нормально не представляется возможным. Ну и еще есть одна идейка насчет FLASH сообщений (если использовать терминологию Rails). Суть в том, чтобы высвечивать клиенту различные нотисы, варнинги и т.п. в том числе после редиректа. Вот это как раз можно через куки сделать, но если ради капчи все-равно стартовать сессию, то смысл заморачиваться полностью теряется.

bestxp
да пусть хоть миллион настартует сессий, сборщик потом их все удалит после их устаревания

Перемести их в редис например и вообще не парься тогда
sergeiss
Лично я не сторонник хранить большое количество инфы в куках, т.к. при каждом обращении к серверу все куки туда отправляются. И если много аяксовых запросов, то каждый раз этот "хвост" пристраивается. Надо тебе переслать 10 байт инфы, а к ним приклеится заголовок на несколько килобайт smile.gif Не есть гуд.

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

Цитата (paul85 @ 20.06.2014 - 21:00)
Они их раздают с большим удовольствием, особо не парятся.

Вот и хрень, что "особо не парятся". Не думают о лишней инфе. Причем, если именно крупный проект, то юзеров много, из лишней инфы складываются уже большие объемы. Которые и на сервер могут оказать влияние.

PS. Это может быть особо значимо, если разрабатывается приложение в первую очередь для мобильного использования, когда могут использоваться низкоскоростные каналы. Если стоит супер-сервер, да интернет у юзеров предполагается высокоскоростной, то можно и не париться, наверное. Но хотя бы понимать надо, что к чему.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
glock18
Ну, коротенькое сообщение-то можно и через куки, пожалуй. Естественно, использовать всегда одну и ту же куку, и expire ставить на продолжительность сессии, чтобы куки не раздувать.

Вообще, открытие сессии может повлиять на работу сайта только, если сессии толстые, ну и лучше всего просто для сессий использовать не-файловые хранилища
paul85
Всем большое спасибо за ответы! Почерпнул!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.