PHP создает новый сеанс для каждой загрузки страницы - PullRequest
2 голосов
/ 17 ноября 2010

Я использую Codeigniter 1.7.2 с библиотекой OBsession для обработки сессий и их хранения в базе данных. Приложение, над которым я работаю, состоит из домена (с CI), который действует как служба (не знаю, правильная ли это терминология). Другие сайты включают в себя файл JavaScript из этого домена и оттуда делают AJAX-вызов в домен CI. Если у сайта нет идентификатора сеанса, домен CI возвращает домен, созданный из этого вызова, а затем JS на сайте устанавливает cookie с этим идентификатором сеанса. С тех пор, если сайт делает какие-либо звонки в домен CI, он включает этот идентификатор сеанса, чтобы идентифицировать себя.

Это работает в любом другом браузере (версии для Mac и ПК), за исключением Safari и всех Internet Explorer. Например, в Firefox я вижу исходный идентификатор сеанса, установленный в cookie-файле клиента и в базе данных, и могу сделать столько вызовов, сколько захочу, и столько обновлений страницы, и он по-прежнему имеет одинаковый идентификатор сеанса в cookie и базе данных , Для Safari при каждом обновлении страницы я вижу новые сеансы, добавляемые в мою таблицу сеансов.

Есть идеи, что здесь происходит?

Ответы [ 3 ]

1 голос
/ 18 ноября 2010

Safari и Internet Explorer (со средним уровнем безопасности) не принимают сторонние файлы cookie по умолчанию.Поиск Google приносит:

http://squeeville.com/2010/02/03/third-party-cookies-in-safari-internet-explorer/

Надеюсь, это поможет.

0 голосов
/ 17 ноября 2010

найдите session_start() и вставьте логику вокруг этой функции ...

0 голосов
/ 17 ноября 2010

Очевидно, что сессионный cookie не «прилипает» в Safari. Так как он устанавливается Javascript, вам придется поискать отладчик Safari (где бы он ни находился) и посмотреть, что взрывается. Возможно, модель безопасности не позволяет сторонним javascript устанавливать куки, или сам браузер не позволяет сторонние куки, точка.

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