Кажущееся случайным исчезновение файла cookie преимущественно в Edge

#cookies #session-cookies #microsoft-edge #setcookie #httpcookie

#файлы cookie #сеансовые файлы cookie #microsoft-edge #setcookie #httpcookie

Вопрос:

Окружающая среда

  • Я могу надежно воспроизвести в Edge 18
  • Edge 44.17763.1.0

Я также наблюдал тот же сбой, но реже в других браузерах. Мы используем bugsnag для отслеживания ошибок такого типа и видим разбивку браузера следующим образом:

введите описание изображения здесь

Поведение

Время от времени один файл cookie аутентификации отбрасывается из запроса XHR на внутренний сервер, что приводит к HTTP 403. Другой запрос XHR на тот же исходный сервер за несколько миллисекунд до и после отправки файла cookie и получения ответа OK.

Подробности

  • Всего по успешным запросам отправляется 18 файлов cookie. 17 на сломанном.
  • Срок действия файла cookie не близок к истечению (осталось 2 дня). Файл cookie был впервые установлен для запроса, который был выполнен за несколько секунд до того, как был инициирован новый запрос XHR, и в запросах, предшествующих этому, присутствует файл cookie.
  • Файл cookie не имеет явного пути или установленного атрибута домена
  • Файл cookie помечается как secure и httpOnly .
  • Файл cookie довольно длинный, имя файла cookie составляет 47 символов ASCII.
  • Значения файлов cookie составляют 64 шестнадцатеричных символа.
  • Все запросы являются HTTP-получателями.
  • Успешный запрос запроса выглядит следующим образом: https://api.mysite.com/a/b/c/d
  • Неудачный вариант выглядит так: https://api.mysite.com/a/b/c
  • Обновление страницы дает тот же результат.

Хотя имена и значения файлов cookie довольно длинные, а 18 файлов cookie кажутся довольно большими, я не знаю о конкретном ограничении, которое я нарушил из таких статей: https://humanwhocodes.com/blog/2008/05/17/browser-cookie-restrictions /

Другая странная вещь заключается в том, что запросы, которые работают, имеют одинаковое количество файлов cookie (точнее, на 1 больше, поскольку они отправляют тот, который удален из поврежденного запроса).

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

Комментарии:

1. Согласно вашему последнему предложению, вы имеете в виду, что вы пытались сократить имена файлов cookie и добиться успеха? Но я думаю, что длина, возможно, не причина. Я нашел статью об ограничениях файлов cookie, и размер ваших файлов cookie, похоже, не превышает limit.textslashplain.com/2018/10/09/cookie-limits /. Я хотел бы спросить, не могли бы вы предоставить свою демонстрационную версию для тестирования, чтобы вам было легче помочь?

2. Я еще не пробовал сокращать имена файлов cookie — я просто говорю, что могу (у нас есть полный контроль над приложением, так что это вариант для нас). Я также согласен с тем, что длина имени файла cookie не казалась лучшим кандидатом, поэтому еще не пытался это сделать. Я экспериментировал с уменьшением вдвое длины значения cookie с 64 символов до 32. Это не помогло, проблема все еще возникает. Я постараюсь предоставить более подробную информацию в ближайшем будущем.