[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: COOKIE
бриклор
здравствуйте. решил сделать авторизацию на куках. на сессиях делал, но почему-то решил сделать на куках(чтобы запоминал браузер на подольше).
так вот делаю так, если вошел юзер удачно то устанавливаю куку и сразу проверяю установилась ли она:
 setcookie("test","Hello",time()+3600);
echo @$_COOKIE['test'];

и правдо выводит Hello
но потом я делаю редирект на другую страницу там делаю проверку
 if(!isset($_COOKIE['test']))

и вот здесь загвоздка. куки никогда нету. почему она не создается?
если не установлена отображается один текст, а если установлена другой. Она у меня не установлена.




Спустя 23 минуты, 12 секунд (9.05.2011 - 10:41) quickxyan написал(а):
после установки посомтри её в браузере в настройках

Спустя 4 минуты, 2 секунды (9.05.2011 - 10:45) alex12060 написал(а):
 if(!isset($_COOKIE['test']))


Что Вы этим проверяете?
Если Ваша проверка выглядит примерно так:


if(!isset($_COOKIE['test'])) {

echo 'Мы имеем куку! Ее содержимое: '.$_COOKIE['test'];

} else {

echo 'Куки нет О__о';

}


То тогда Вы глубоко ошибаетесь в состоятельности данной проверки.

Спустя 7 минут, 4 секунды (9.05.2011 - 10:52) quickxyan написал(а):
вроде функция getCookie может помочь

куки

Спустя 16 минут, 28 секунд (9.05.2011 - 11:09) killer8080 написал(а):
Цитата (бриклор @ 9.05.2011 - 10:18)
... но почему-то решил сделать на куках(чтобы запоминал браузер на подольше).

Не понял blink.gif
а session_set_cookie_params() что не существует?

Спустя 1 час, 51 минута, 47 секунд (9.05.2011 - 13:00) бриклор написал(а):
killer8080
тоесть если я установлю например на неделю то он будет помнить да?

Спустя 40 минут, 10 секунд (9.05.2011 - 13:40) killer8080 написал(а):
Цитата (бриклор @ 9.05.2011 - 13:00)
тоесть если я установлю например на неделю то он будет помнить да?

Да, если у юзера в настройках не выставлено: "удалять куки при выходе", и если он не пользуется всякими "антишпионами", которые любят убивать куки, и тут неважно каким образом была сформирована кука, что сессиями, что вручную - это уже клиентская сторона. Есть, правда, один нюанс - сессии выставляют куку один раз, при первом заходе. Если нужно чтоб она обновлялась при каждом заходе, после session_start() придется делать это ручками.

Спустя 2 дня, 16 секунд (11.05.2011 - 13:41) бриклор написал(а):
я почемуто не вижу результата действия session_set_cookie_params()
как им пользоваться? я прописываю в скобках время в секундах на 24 часа. а толку. через 30 минут без активности и все. сессия улетела.

Спустя 4 минуты, 39 секунд (11.05.2011 - 13:45) linker написал(а):
session_set_cookie_params() мало, через n-ое количество секунд в session.gc_maxlifetime файл с кукой будет безжалостно затёрт (по-умолчанию везде и всюду данные сессий хранятся в файлах).

Спустя 3 минуты, 37 секунд (11.05.2011 - 13:49) бриклор написал(а):
linker
а что тогда посоветуете? использовать кукисы?

Спустя 2 минуты, 33 секунды (11.05.2011 - 13:52) linker написал(а):
Всё зависит от того, какая инфа предполагается для хранения в куках.

Спустя 5 минут, 50 секунд (11.05.2011 - 13:57) бриклор написал(а):
мне нужно просто чтобы ненужно было логиниться каждые 30 минут. и все. покачто

Спустя 7 минут, 58 секунд (11.05.2011 - 14:05) linker написал(а):
Проверка установлена ли кука
if (isset($_COOKIE['test'])) {}

Спустя 30 минут, 30 секунд (11.05.2011 - 14:36) killer8080 написал(а):
Цитата (linker @ 11.05.2011 - 14:05)
Проверка установлена ли кука
if (isset($_COOKIE['test'])) {}

а это уже дырка в безопасности, факт наличия куки не подтверждает аутентичность.

Спустя 20 минут, 58 секунд (11.05.2011 - 14:57) linker написал(а):
Цитата (killer8080 @ 11.05.2011 - 14:36)
Цитата (linker @ 11.05.2011 - 14:05)
Проверка установлена ли кука
if (isset($_COOKIE['test'])) {}

а это уже дырка в безопасности, факт наличия куки не подтверждает аутентичность.

А это уже вопрос реализации у ТС.

Спустя 13 минут, 21 секунда (11.05.2011 - 15:10) killer8080 написал(а):
Честно говоря, у меня большие сомнения по поводу целесообразности применения стандартного механизма сессий. Слишком много у него недостатков, тот же параметр session.gc_maxlifetime, чем больше он будет, тем больше файлов сессий будет скапливаться, а это в свою очередь добавляет тормозов с файловой системой.
linker
а как вы обычно реализуете сессии? Стандартный session_start() или свой механизм?

Спустя 8 минут, 43 секунды (11.05.2011 - 15:19) linker написал(а):
Никто не запрещал хранить данные сессий в кэше (memcache, например) или в базе.

Спустя 8 минут, 29 секунд (11.05.2011 - 15:27) killer8080 написал(а):
Так сессии на БД быстрее чем с файлами?

Спустя 3 минуты, 51 секунда (11.05.2011 - 15:31) linker написал(а):
Быстрее кэш.

Спустя 21 минута, 15 секунд (11.05.2011 - 15:52) killer8080 написал(а):
Цитата (linker @ 11.05.2011 - 15:31)
Быстрее кэш.

а какая от него польза при долгосрочном хранении сессий? и всё таки хотелось бы услышать ответ на вопрос, от вас, как от профи
Цитата (killer8080 @ 11.05.2011 - 15:10)
linker
а как вы обычно реализуете сессии? Стандартный session_start() или свой механизм?


Спустя 9 минут, 12 секунд (11.05.2011 - 16:02) linker написал(а):
Для кэша можно задавать время хранения данных. Про memcached и прочие слишком много и так сказано, рассказано. Данные сессий не должны храниться вечно, на то они и сессии, т.е. интервал времени для работы. Нагружать базу сессиями не ахти, остаётся - кэш.

Я сижу на файлах, наши админы слишком неповоротливы и консервативны, а самолично управлять серваками не имею возможности в следствии отсутствия прав.

Спустя 17 минут, 31 секунда (11.05.2011 - 16:19) бриклор написал(а):
пожалуйста. помогите. направьте где можно почитать. я самоучка. до проф-обучения далеко. а развиваться хочется. где можно прочитать про куки или сессии может книга какая. чтобы и защита была обговорена. спасибо тому кот ответит.
Быстрый ответ:

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