Я ищу способ установить файлы cookie с коротким сроком действия для всех браузеров. Очевидно, каждый браузер по-разному обрабатывает метод PHP setcookie. Ниже приведены мои результаты.
Код PHP:
setcookie("TestCookie", $value, time()+7200, "/", ".domain.com", 1, true);
Результаты:
ОПЕРА 11.10
Local time of test: 1316621628
PHP Server Time: Wed Sep 21 07:58:35 PDT 2011
Cookie Expiration Time: 2011-09-21 - 20:58:35
Chrome 6.0.472.63
Local time of test - 1316621761
PHP Server Time - Wed Sep 21 08:01:21 PDT 2011
Cookie Expiration Time - Wednesday, September 21, 2011 9:01:21 PM
Firefox 4
Local time of test: 1316622064
PHP Server Time: Wed Sep 21 08:07:38 PDT 2011
CookieExpiration Time: Wednesday, September 21, 2011 10:22:50 PM
Safari 3.2.3
Local time of test: 1316622359
PHP Server Time: Wed Sep 21 08:10:48 PDT 2011
CookieExpiration Time: 9/21/11 5:10 PM
Internet Explorer 8
Local time of test: 1316623009
PHP Server Time: Wed Sep 21 08:21:37 PDT 2011
Cookie Data:
TestCookie
x
domain.com/
9728
3932016640
30177410
2837190416
30177404
Как вы можете видеть, дата / время истечения срока действия файлов cookie сильно варьируется: от запланированного времени работы до нескольких часов в прошлом и до одного часа! Очень расстраивает.
В дополнение к попытке описанного выше метода, я также попытался установить точную дату / время истечения срока с помощью unixtime ... Я сделал это с помощью time () на уровне PHP или с использованием браузера unixtime, полученного через JavaScript.
setcookie("TestCookie", $value, 1316621928, "/", ".domain.com", 1, true);
Каждый браузер обрабатывает это также по-своему. Я не могу найти один метод, который работает одинаково для всех браузеров. Кто-нибудь знает о методе, который выполняет это?
Спасибо.