Аннулировать куки для всех пользователей - PullRequest
1 голос
/ 31 марта 2011

Меня попросили использовать возможность аннулирования определенного файла cookie, созданного до 1 мая (это будет сделано 1 мая), чтобы файл cookie автоматически обновлялся, поскольку хэширование меняется.Прямо сейчас наши куки настроены на 30 дней.Поскольку cookie находится на клиентских компьютерах, я не могу придумать какой-либо чистый способ сделать это по ряду причин:

  1. Из того, что я знаю, я не думаю, что есть способполучить данные о создании или сроке действия файла cookie в javascript.
  2. Поскольку файл cookie настроен на 30 дней, все, что должно произойти, должно присутствовать в течение 30 дней

написание этой идеи пришло в голову.Единственное, о чем я могу подумать, и это такой взлом, в основном в тот момент, когда должен произойти этот переход, я добавляю такой фрагмент кода, как:

var newHash = readCookie('new_hash');
if(newHash != 1)
{
    eraseCookie('hash');
    create_cookie('new_hash', 1, 60);//set this flag for 60 days 
}

Так что это должно стереть кукиесли пользователь не обновился до нового хэша, и он должен делать это только каждые 60 дней.Примерно через 30 дней я могу удалить этот код, поскольку все пользователи обновили бы свои куки-файлы до нового хэша.

Есть ли более простой способ сделать это?

Ответы [ 3 ]

2 голосов
/ 31 марта 2011

Не могли бы вы просто создать cookie с другим именем и начать использовать его вместо этого?Если ваш код больше не читает старый, его в принципе не существует.

0 голосов
/ 31 марта 2011

Можете ли вы просто попытаться прочитать входящий файл cookie, и, если он не соответствует вашему новому алгоритму хеширования, сделать его недействительным и перенаправить?

0 голосов
/ 31 марта 2011

Вы можете добавить данные об истечении срока действия как часть нового значения cookie, а также в параметре expiryПеченье без него будет старым печеньем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...