Отправка файлов cookie браузера во время перенаправления 302 - PullRequest
66 голосов
/ 14 января 2011

Есть ли проблемы с отправкой cookie во время перенаправления 302?Например, если я создам cookie-файл с возвратом к URL-адресу и перенаправлю пользователя в том же ответе, будет ли любой (современный) браузер игнорировать cookie-файл?

Ответы [ 5 ]

44 голосов
/ 13 ноября 2013

Согласно этому сообщению: http://blog.dubbelboer.com/2012/11/25/302-cookie.html все основные браузеры, IE (6, 7, 8, 9, 10), FF (17), Safari (6.0.2), Opera (12.11) оба Windows и Mac, установите куки на перенаправлениях. Это верно как для редиректов 301, так и для 302.

32 голосов
/ 15 января 2011

Большинство браузеров принимают куки на 302 перенаправлениях.Я был совершенно уверен в этом, но я немного искал.Не все современные браузеры. Интернет-архив Ссылка с удаленного / мертвого / подключения Microsoft Q / A на HTTP-стек клиента Silverlight игнорирует Set-Cookie на 302 ответа на перенаправление (2010)

Я думаю, что теперь у нас есть замена для IE6 и браузеров для Windows Mobile ...

25 голосов
/ 28 октября 2016

Одно уведомление (чтобы спасти жизнь разработчика):

IE и Edge игнорируют Set-Cookie в ответе на перенаправление, когда домен cookie - localhost .

Решение:

Используйте 127.0.0.1 вместо localhost .

12 голосов
/ 16 июня 2016

Здесь - ошибка Chromium для этой проблемы (Set-cookie игнорируется для ответа HTTP со статусом 302).

0 голосов
/ 02 октября 2017

В моем случае я установил CookieOptions.Secure = true, но протестировал его на http://localhost., и браузер скрывает куки в соответствии с настройкой.

Чтобы избежать такой проблемы, вы можете сделать опцию Cookie безопасной, чтобы соответствовать протоколу Request.IsHttps, например.

new CookieOptions()
                {
                    Path = "/",
                    HttpOnly = true,
                    Secure = Request.IsHttps,
                    Expires = expires
                }
...