Является ли продление cookie.gc_maxlifetime до одной недели хорошей идеей для реализации «Запомнить меня» - PullRequest
1 голос
/ 04 августа 2011

Значение cookie.gc_maxlifetime по умолчанию составляет 24 минуты, поэтому, даже если я установлю срок действия файла cookie через одну неделю, «Запомнить меня» будет работать в течение 24 минут, поэтому я подумал о продлении времени gc_maxlifetime, но, возможно, есть лучшее решение

Ответы [ 2 ]

2 голосов
/ 04 августа 2011

Сборщик мусора называется так, потому что он действительно собирает мусор: если вы не удаляете старые файлы сеансов, тогда любой может просто отправлять миллиарды GET / запросов на ваш сайт (без сохранения файлов cookie), и ваш сервер будет генерировать миллиарды файлов сеансов, которые не будет удален в течение недели - это может значительно замедлить ваш сайт или даже испортить вашу файловую систему. Если вы хотите реализовать функцию «запомнить меня» - тогда вам придется выполнить свою собственную сборку мусора (например, не более 100 сеансов с одного IP-адреса и т. Д.), А maby даже может реализовать собственную обработку сеансов (например, сохранить их). в базе данных для увеличения скорости поиска данных сеанса и подготовки к лучшей масштабируемости).

1 голос
/ 04 августа 2011

Полагаю, session.gc_maxlifetime и, возможно, session.cookie_lifetime это то, что вы имеете в виду?

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

Длительность "нормального" сеанса, который длится долго, не является хорошей идеей для ИМО, например, по соображениям безопасности.

...