Подтвердить что ты не робот

Cookies не отправляются туда и обратно в Opera

Во-первых, я не уверен, что это проблема в Opera 12.01 или нет, но проблема возникает только в Opera. Я тестировал в браузерах FF14, Chrome 21, Safari 5 (Windows) и Safari Mac и Webkit на Android и iPhone.

Мое приложение запускается на платформе trigger.io forge и использует прокси для маршрутизации запросов из веб-приложения в службу. Прокси просто перенаправляет запросы и файлы cookie, и это работает в большинстве браузеров.

После проверки запроса в dragonfly я заметил, что сервер отправляет соответствующие заголовки в ответ, но Opera, похоже, игнорирует установку значений. Мне интересно, связано ли это с некоторым неправильным значением пути для файла cookie. Я добавил скриншоты из 2 запросов в Firefox и Opera.

Как вы можете видеть на экранах, FF видит заголовки файлов cookie и устанавливает их соответствующим образом, но Opera не делает этого.

Запрос Firefox

Firefox request

Запрос Opera 1 Экран

Opera request 1

Экран Opera 2 для просмотра

Opera Request 2

Я не включил код из прокси-сервера, который выполняет пересылку запроса, поэтому, пожалуйста, дайте мне знать, если вам это нужно, чтобы получить некоторое представление. В конце службы я запускаю PHP и Codeigniter. Пожалуйста, дайте мне знать, если мне нужно добавить больше информации здесь, в мою среду, спасибо.

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

4b9b3361

Ответ 1

Двойные кавычки формально незаконны в значении cookie. Если вы избежите их как % 22, он будет работать.

Ответ 2

Вы проверили, если это проблема с доменами cookie? Я предполагаю, что вы используете Javascript для установки/чтения файлов cookie? В любом случае есть 4 проблемы с файлом cookie, которые вы можете проверить (я знаю, что у меня была эта проблема со старой версией FF):

1 - проверьте наличие недопустимых символов cookie: разрешенные символы cookie вам не разрешено использовать '-' или '=' в имени файла cookie, и вы должны Использовать не-ASCII-символы в файлах cookie вообще. Кодирование base64 может иметь дело с этим.

2 - убедитесь, что домен, на котором вы установили свой файл cookie (с помощью кода javascript или любым другим способом), идентичен домену, на котором выполняется код.

3 - проверьте, что домен cookie не является localhost; посмотрите, можете ли вы проверить настройку файла cookie из удаленного домена

4 - если вы используете JS для настройки своих файлов cookie, попробуйте проверить, можете ли вы установить cookie с CGI в своем браузере, чтобы убедиться, что это не проблема браузера. Если он работает, то он должен посмотреть, можете ли вы прочитать cookie с помощью JS (в отличие от его настройки).

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

Ответ 3

Глядя на эти скриншоты Opera, они кажутся запросами AJAX/XHR, которые обрабатываются в течение одной секунды. Возможно ли, что Javascript запускает оба этих запроса "одновременно", поэтому ответ от "первого" не доходит до того, как будет создан запрос для "второй" - и, следовательно, файлы cookie еще не установлены?

Я не знаком с используемыми вами технологиями/инструментариями, поэтому не знаю, являются ли они кодом запаса или частью вашего пользовательского приложения.