Сеанс PHP не может быть получен после перенаправления с использованием htaccess - PullRequest
2 голосов
/ 25 января 2011

Я сделал перенаправление с www.abc.com на www.def.com, используя .htaccess.

Перенаправление прошло успешно, но у меня есть проблема, из-за которой куки и сеанс могут быть доступны только когда я захожу на сайт с помощью def.com. Сеанс будет отсутствовать при его проверке с abc.com.

Как скопировать или прочитать сеанс на def.com?

Пожалуйста, помогите мне.

Ответы [ 4 ]

0 голосов
/ 25 января 2011

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

. Кроме того, вам также необходимо убедиться, чтоодин и тот же идентификатор сеанса используется в обоих доменах.Если вы хотите использовать куки-файлы для идентификатора сеанса, вы можете делать это только тогда, когда ваши домены имеют общий супер-домен, поэтому они являются поддоменами домена, такого как foo.example.com и bar.example.com доля супердомена example.com .В этом случае вам нужно настроить параметр cookie сеанса домен и установить для него значение .example.com для супердомена example.com .

В противном случае, как и в вашем примере, когда домены делят только com в качестве супердомена верхнего уровня, вы не можете использовать куки (в первую очередь).Но вы можете использовать URL-адрес для переноса идентификатора сеанса из одного домена в другой домен.Для этого вам нужно включить session.use_trans_sid и отключить session.use_only_cookies (как минимум в целевом домене перенаправления) идобавьте идентификатор сеанса к каждому URL, указывающему один домен на другой (здесь вы можете использовать константу SID).

0 голосов
/ 25 января 2011

Ваш файл cookie, содержащий ваш идентификатор сеанса (и, следовательно, весь сеанс), действителен только в том домене, где он создан. Поэтому, когда вы меняете домены, куки больше не доступны. Чтобы обойти это, вы можете отправить идентификатор сеанса в новый домен (что не очень безопасно, но вам может быть все равно), а затем создать новый файл cookie и сеанс для этого домена.

0 голосов
/ 25 января 2011

Это называется «межсайтовый скриптинг» (XSS), и многие люди очень усердно работают, чтобы убедиться, что то, что вы хотите, невозможно.Если вы найдете способ сделать это, обязательно сообщите нам об этом, потому что это будет серьезное нарушение безопасности.

0 голосов
/ 25 января 2011

ну, ты не можешь сделать это просто. Может быть, видите этот пост ?

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