Setcookie синтаксис Google Chrome - PullRequest
       7

Setcookie синтаксис Google Chrome

20 голосов
/ 13 февраля 2012

Я использую следующий синтаксис для установки cookie:

Set-Cookie:Cookie-name=value; path=/; Max-Age=1296000; HttpOnly

В консоли Google Chrome это показывает Неверная дата для этого куки.

Что не так в синтаксисе?

Согласно http://en.wikipedia.org/wiki/HTTP_cookie#Expires_and_Max-Age http://tools.ietf.org/html/rfc6265#section-5.2.2 Я могу использовать Max-Age, чтобы указать относительное время истечения.

Ответы [ 2 ]

6 голосов
/ 12 февраля 2013

Я не думаю, что это то, что вы могли бы / должны решить.Инструмент Inspector / Dev, который вы используете, не всегда прав, как показано другим пользователем.Есть и другие случаи, когда инструмент Dev тоже не подходит, например, в «сетевом» инструменте.
Вы можете установить расширение, например , отредактируйте этот файл cookie , чтобы узнать, как ведут себя ваши файлы cookie.Несмотря на то, что он не помогает вам отслеживать перенаправления, он помогает узнать, какие файлы cookie настроены, и позволяет изменить его.

4 голосов
/ 08 февраля 2013

Обновление

Я провел дополнительные тесты и пришел к тому же выводу, что и Выпуск 123013 , указанный ниже. Я думаю, что это просто ошибка DevTools.

DevTools> Сеть, по-видимому, неправильно отображает дату. Однако DevTools> Resources правильно отображает дату, аналогичную другим браузерам.

Кроме того, срок действия другого созданного мной файла cookie истек. Это было отражено в DevTools> Ресурсы, но не в DevTools> Сеть. .

Результаты испытаний

setcookie('foo', 'bar', time()+3600, "/", NULL, false, true);

Chrome v24.0.1312.57
  Resources > Cookies   Thu, 14 Feb 2013 17:08:33 GMT
  Network > Cookies     Invalid Date

Firefox 18.0.2          Thursday, February 14, 2013 11:59:15 AM
IE9 9.0.8112.16421      Thu, 14-Feb-2013 17:06:42 GMT

Наконец, в заключение, ваш синтаксис выглядит правильным. Сообщение «Неверная дата» выглядит как ошибка Chrome.


Я мог бы не повторить эту проблему с Chrome v24.0.1312.57. Я установил различные тестовые куки с JavaScript и PHP. Chrome не выдал ошибок и правильно преобразовал значения max-age, которые я передал, в соответствующие значения expires.

Эта ошибка, или что-то очень похожее, была отправлена ​​и, по-видимому, исправлена.

WebKit

Хром

...