Саныч пишет:Почитайте про сессии подробно, а именно про то, как они работают.
Сессию устанавливаете вы, для каждоко клиента своя сессия, хранится она на сервере. Возникает вопрос: "А как же при следующем заходе мы определим, где чия сессия?". Вот для этих целей вы отсылаете клиенту (браузеру, боту, не важно кому) запрос на установку куки. В ней хранится идентификатор вашей сессии. При последующем обращение он (клиент) должен прислать вам эту куку, по ней вы и узнаете сессию. Если он этого не сделает, то естественно и сессии никакой не будет.
т.е. если у браузера выключены куки, то сесси никакой не будет? Вопрс же четко был поставлен, БЕЗ БАЗЫ, БЕЗ КУКОВ, БЕЗ ФАЙЛОВ. только переменная.
(Добавление)
Мелкий пишет:Ещё раз: защиту от DDoS надо делать уровнем ниже.
dmitry пишет:хранение в базе, куках, файлах и т.д. не подходят. ТОЛЬКО В ПЕРЕМЕННОЙ.
Невозможно. PHP работает по принципу отработал-умер.
Хранение данных в оперативной памяти - memcache.
dmitry пишет:если какой то скрипт обратится к моему файлу, то сессия не будет создана?
Создана сессия будет всегда.
Использована ли при повторном обращении - только если клиентом будет передан каким-либо способом идентификатор сессии (кука или get-параметр).
СУПЕР! по моему то что нужно, тока вопрос, обязательно сервер создавать или можно без него обойтись?
PHP:
скопировать код в буфер обмена
<?PHP $m = new Memcached(); $m->addServer('localhost', 11211); $m->set('int', 99); $m->set('string', 'a simple string'); $m->set('array', array(11 , 12 )); /* expire 'object' key in 5 minutes */ $m->set('object', new stdclass , time() + 300 ); ?>
(Отредактировано автором: 04 Января, 2012 - 14:21:23)
|