paul85
20.06.2014 - 21:00
Добрый день, уважаемые гуру!
Вот ломаю голову насчет сессий. Когда-то на глаза попалась статья о том, что стартовать сессию каждому встречному-поперечному не есть хорошо. Насколько это утверждение справедливо?
Кстати, вижу на крупных проектах в куках море различных идентификаторов. Для чего их столько? Они их раздают с большим удовольствием, особо не парятся.
P.s. В Ruby on rails сессионное окружение хранится в куках. В зашифрованном виде. Они сначала хранили в файлах, потом в СуБД, а в последней версии решили почему-то отдавать клиенту. Кто что думает по этому поводу?
куки это мусор в твоём браузере, а не на сервере, вроде как.
_____________
Новичек в программировании и вообще не разбираюсь в этом, так что не вините.
paul85
20.06.2014 - 22:21
kjdgh, да понятно, что в браузере. Речь немного о другом. Хорошо или нехорошо стартовать каждому вошедшему на сайт сессию.
Почему возник этот вопрос, собственно? Раньше я стартовал сессию исключительно после авторизации. Ну и еще в некоторых случаях, когда запрос уходит через AJAX. Таким образом если придет робот без поддержки куков, то он не сможет настартовать мне огромное количество сессий. Вот интересует как раз с точки зрения различных атак и прочего.
Потребовалось состряпать капчу, а без сессий ее реализовать нормально не представляется возможным. Ну и еще есть одна идейка насчет FLASH сообщений (если использовать терминологию Rails). Суть в том, чтобы высвечивать клиенту различные нотисы, варнинги и т.п. в том числе после редиректа. Вот это как раз можно через куки сделать, но если ради капчи все-равно стартовать сессию, то смысл заморачиваться полностью теряется.
bestxp
21.06.2014 - 09:27
да пусть хоть миллион настартует сессий, сборщик потом их все удалит после их устаревания
Перемести их в редис например и вообще не парься тогда
sergeiss
21.06.2014 - 09:43
Лично я не сторонник хранить большое количество инфы в куках, т.к. при каждом обращении к серверу все куки туда отправляются. И если много аяксовых запросов, то каждый раз этот "хвост" пристраивается. Надо тебе переслать 10 байт инфы, а к ним приклеится заголовок на несколько килобайт
Не есть гуд.
Исходя из таких соображений, лучше гонять туда-сюда только идентификатор сессии, да еще какие-то данные по минимуму. А основные данные, по возможности, на сервере хранить. В сессии.
Цитата (paul85 @ 20.06.2014 - 21:00) |
Они их раздают с большим удовольствием, особо не парятся. |
Вот и хрень, что "особо не парятся". Не думают о лишней инфе. Причем, если именно крупный проект, то юзеров много, из лишней инфы складываются уже большие объемы. Которые и на сервер могут оказать влияние.
PS. Это может быть особо значимо, если разрабатывается приложение в первую очередь для мобильного использования, когда могут использоваться низкоскоростные каналы. Если стоит супер-сервер, да интернет у юзеров предполагается высокоскоростной, то можно и не париться, наверное. Но хотя бы понимать надо, что к чему.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
glock18
21.06.2014 - 12:56
Ну, коротенькое сообщение-то можно и через куки, пожалуй. Естественно, использовать всегда одну и ту же куку, и expire ставить на продолжительность сессии, чтобы куки не раздувать.
Вообще, открытие сессии может повлиять на работу сайта только, если сессии толстые, ну и лучше всего просто для сессий использовать не-файловые хранилища
paul85
21.06.2014 - 20:13
Всем большое спасибо за ответы! Почерпнул!
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.