2010-06-10 4 views
5

Howdy, здесь есть небольшая проблема. У меня есть domain.co.uk установка сеанса. Когда я нажимаю ссылку на domain.co.uk, чтобы перейти к sub.domain.co.uk, сеанс не читается.домен -> субдомен - данные сеанса передачи

Я изменил session.cookie_domain на .domain.co.uk еще не работает. Есть что-то еще, что нужно изменить?

С уважением, me.

+0

Являются ли эти два домена обработаны одной и той же PHP-кодовой базой? –

+0

Имел ту же проблему, нашел этот ответ для работы для меня: [сеансы PHP через поддомены] (http://stackoverflow.com/a/1457582/826668) – Kyle

+0

Вы должны взглянуть на: http: // stackoverflow. com/questions/1064243/php-sessions-through-sub-domains – Lizard

ответ

0

Информация о идентификаторе сеанса, хранящемся в файлах cookie. Субдомен не может читать cookie, если он задан основным доменом. См. Информацию о параметрах session_name & setcookie и session_id() php. Или храните идентификаторы сеанса в другом месте (например, базу данных mysql) P.S .: Извините за мой английский.

0

Я согласен с Гошей,

я все мои сеанса передачи обслуживания путем представления данных формы или хранение в SQL. Затем заново создайте сеанс в новой среде домена.

Я не уверен на 100%, если есть более простой способ?

Не уверен, что это помогает.

Шейн

+0

Передавая его как данные формы, он должен быть передан через SSL, в противном случае может быть выполнен захват сеанса, если он не сериализован и не зашифрован и т. Д. – grandnasty

1

в ваших htacces файл

php_value session.cookie_domain ".domain.co.uk" 

и вы сделали

0

данные сеанса хранится в куки, и если ваш на домене google.com тогда только домен Google .com может получить доступ к данным сеанса cookie, таким как имя пользователя или идентификатор сеанса.

dev.google.com не может получить доступ к файлам cookie для google.com, и это означает, что пользователь, зарегистрированный на google.com, не войдет в систему, когда перейдет на dev.google.com. То есть, если есть какой-то механизм, такой как передача идентификатора сеанса в строке запроса на dev.google.com.

0

Этот простой код поможет вам, просто дайте ему try.it будет работать на 100%.

<?php 
session_set_cookie_params(0, '/', '.domain.co.uk'); 
session_start(); 
?> 
Смежные вопросы