У моего веб-приложения на данный момент в моем домене cookie домена установлен example.com
. Я хотел бы изменить его на .example.com
. Для новых посетителей работает ini_set('session.cookie_domain', '.example.com')
. Для посетителей, у которых уже есть файл cookie PHPSESSID до того, как это изменение сделано, домен остается прежним. Как я могу изменить домен в cookie сеанса, не спрашивая текущих пользователей об удалении их файлов cookie?Как изменить домен cookie для существующих пользователей
- Я не могу использовать JavaScript для обновления cookie, потому что это HTTPOnly по соображениям безопасности.
- Удаление сеансов на сервере не сбрасывает весь файл cookie, он обновляет только значение cookie (сохранение домена одинаково).
- Современные браузеры сохраняют сеанс через перезагрузки, поэтому, несмотря на то, что cookie установлен в конце сеанса браузера, сеанс браузера никогда не заканчивается.
Единственная возможность, которую я могу придумать, - это установить в прошлом печенье, а затем перенаправить, чтобы получить новый файл cookie. Но я не знаю, какие посетители имеют домен cookie неправильно.
Насколько это плохо, если бы вы просто переключились на сервер на новый файл cookie, который выходил из «старых» пользователей? –
Утилизация всех сеансов на сервере регистрирует людей и обновляет значение cookie, но остальные параметры cookie остаются неизменными, поскольку файл cookie не был удален на клиенте. –
ну, если вы не установили смехотворно длинную жизнь печенья, в конечном итоге браузеры истекут старый файл cookie. –