Intereting Posts
Как я могу сделать регулярную переменную доступной в файлах, включенных методом класса? Что лучше для освобождения памяти с помощью PHP: unset () или $ var = null Кто-нибудь нашел, что REGEX «\ b» не работает в MYSQL? Разбить сложную строку запятыми в PHP Чтение и скандир Прямая трансляция Тема isset по атрибутам статического класса Динамически настроить PHP для обеспечения безопасности потоков –enable-maintainer-zts или использовать yum для установки pthreads? Использовать ключевое слово в функциях – PHP Не работает перенаправление php Может ли preg_replace выполнять несколько операций поиска и замены одним выстрелом? Рекурсивное обход дерева с помощью mysql через PHP как читать файлы, сохраненные на сервере, используя php и совершать вызовы на эту php-страницу, используя ajax для отображения списка файлов API AtTask – добавление времени выключения Объедините два массива бок о бок, где один может быть короче другого

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

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

Запрос Opera 1

Экран Opera 2

Запрос Opera 2

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

ОБНОВЛЕНИЕ. Эта проблема возникает даже в моей рабочей среде, которая не использует пользовательский TLD. Другие сайты, которые используют файлы cookie, работают нормально, а файлы cookie включены.

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

Вы проверили, является ли это проблемой с доменами 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 (в отличие от его настройки).

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

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

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