Некоторый фон:
CakePHP записывает свой собственный файл cookie идентификатора сеанса, кроме PHPSESSID. Это используется для аутентификации запроса. Затем SWFupload отправляет файл и этот токен для аутентификации и выбирается в качестве нового пользовательского агента - поэтому в cakephp вы должны отключить функцию безопасности «check-user-agent».
Во многих браузерах этого достаточно. Версия IE7 и версия SWF, похоже, не имеют корреляции с этой ошибкой. В нашем случае IE7 хранил / отправлял две версии одного и того же куки. Итак, первый вопрос: почему? Как?
Дальнейшее объяснение:
Поскольку эти дублированные файлы cookie хранятся в начале и конце строки заголовка, PHP / Cake получает один конец, если это обман, поэтому он «выбирает» один, а другой файл cookie, который я установил и отправил в swfobject, - другой печенье. Я могу придумать несколько хаков, чтобы это исправить - но на самом деле я хотел бы знать, как это условие могло возникнуть в первую очередь.
CakePHP также, по-видимому, не генерирует уникальные идентификаторы CakeSession при выходе из системы и входе в систему, что может быть причиной, и решение может быть в том, чтобы заставить торт использовать PHPSESSID везде, или это может быть просто для того, чтобы swfupload отправлял правильный SESSID ...
Редактировать один:
Заголовки для файлов cookie, отправляемых CakePHP:
Set-Cookie: CAKEPHP=gqlpa88blmhmdsmv9e99ga16b3; expires=Thu, 13-Aug-2009 13:21:02 GMT; path=/
Set-Cookie: CAKEPHP=deleted; expires=Wed, 06-Aug-2008 13:21:01 GMT; path=/
Set-Cookie: CAKEPHP=ob5695trnspprlohiunrpqgkm0; expires=Thu, 13-Aug-2009 13:21:02 GMT; path=/
Любые идеи приветствуются!