Сессия, не сохраняющая при перемещении от ssl до non-ssl

Если вы передаете указатель на функцию, то, хотя вы можете изменить содержимое того, на что указывает указатель, вы не можете изменить указатель, для этого вам нужно передать указатель на указатель:

[110 ]
9
задан Justin 9 November 2009 в 12:56
поделиться

5 ответов

Я понял это. Пирог переключался, сессия cookie_secure ini оценивают на лету, в то время как при соединениях SSL автоматически, Таким образом, создаваемый cookie был защищенным cookie, который не распознает вторая страница.

Решение, прокомментируйте/cake/lib/session.php строку 420 выходов:

ini_set ('сессия cookie_secure', 1);

(Просто поиск этого для нахождения его, поскольку я уверен строка #, изменится, поскольку выпуски выходят.)

4
ответ дан 4 December 2019 в 15:28
поделиться

В первую очередь, я понимаю правильно, что второй вход в систему использует тот же самый механизм в качестве первого (через HTTPS)?

Первое совершает нападки на незащищенной странице, создают новую сессию, в дополнение к той, созданной во время входа в систему?

Проверьте, не установлен ли на первом входе в систему cookie с Secure флаг (который означает, что cookie должен только быть отправлен по защищенному (HTTPS) соединение).

3
ответ дан 4 December 2019 в 15:28
поделиться

Ваша домашняя страница получила какую-либо флэш-память на нем, которая выполняет последующий запрос к Вашему серверу? Или какая-либо загрузка Ajax содержания?

Вы проверили заголовки, отправляемые от сервера? В IE можно использовать Скрипача, или в Firefox используют Живое дополнение Заголовков. Проверьте на любые новые устанавливаемые cookie или cookie CAKEPHP, имеющий другое значение.

0
ответ дан 4 December 2019 в 15:28
поделиться
-

Просто наталки к этой проблеме, я прокомментировал следующее, и он работал нормально:

<br />ini_set('session.name', Configure::read('Session.cookie'));
<br />
from session.php (/cake/lib/session.php, line 480~)
0
ответ дан 4 December 2019 в 15:28
поделиться

Вы можете указать свои собственные настройки обработки сеанса в файле конфигурации (вместо редактирования файла библиотеки CakePHP). В файле конфигурации вы можете установить для session.cookie_secure значение 0, которое будет иметь приоритет над настройкой в ​​/ cake / lib. /session.php. Это позволит использовать cookie сеанса как для соединений SSL, так и для соединений без SSL.

Вот запись в блоге по теме: http://bakery.cakephp.org/articles/view/how-to-bend-cakephp-s-session-handling-to- ваши потребности

и некоторая документация из Поваренной книги: http://book.cakephp.org/view/173/Sessions

1
ответ дан 4 December 2019 в 15:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: