Cookie и поддомены

12
[Удален]
2808

Добрый день.

Требуется решить такую задачу.

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

Если авторизуется на главной странице - то куки доступны без проблем на всех поддоменах, но как быть при авторизации на самом поддомене?

SocFishing
На сайте с 26.09.2013
Offline
118
#1

Для домена:

setcookie("auth", "test", time()-360*24, "domain.com");

Для сабдоменов:

setcookie("auth", "test", time()-360*24, ".domain.com");

★Сервис идентифицирует (https://socfishing.com/?utm_source=searchengines) посетителей вашего сайта и предоставляет их профили ВКонтакте, Телефон, Почта! Цены копеечные, работаем 8 лет.
[Удален]
#2
SocFishing:
Для домена:
setcookie("auth", "test", time()-360*24, "domain.com");

Для сабдоменов:
setcookie("auth", "test", time()-360*24, ".domain.com");

Вы не поняли вопроса. Про точку перед доменом я знаю. Но вышеописанный код не сработает, если он будет запускаться на поддомене, например sub.domain.com -именно эту проблему хочу решить

T
На сайте с 11.08.2005
Offline
181
#3
Emotion_schemer:
вышеописанный код не сработает, если он будет запускаться на поддомене

Почему не сработает?

".domain.com" используется именно для того, чтобы кук был доступен с domain.com и с любого субдомена domain.com

Кук ставить 1 раз, а не дважды (не зависимо от того, ставится он с домена или субдомена)...

setcookie("auth", "test", time()-360*24, ".domain.com");

Ну и перед тестированием удалите ранее установленные куки...

[Удален]
#4
Timen:
Почему не сработает?
".domain.com" используется именно для того, чтобы кук был доступен с domain.com и с любого субдомена domain.com

Кук ставить 1 раз, а не дважды (не зависимо от того, ставится он с домена или субдомена)...
setcookie("auth", "test", time()-360*24, ".domain.com");

Ну и перед тестированием удалите ранее установленные куки...

Работает только если посетитель авторизуется на основном домене, а если авторизуется на поддомене, то они просто не устанавливаются. Не может просто так прописаться кук для .domain.com, когда человек находится на sub.domain.com

Они воспринимаются как разные сайты

T
На сайте с 11.08.2005
Offline
181
#5
Emotion_schemer:
Не может просто так прописаться кук для .domain.com, когда человек находится на sub.domain.com

Сделайте простой скриптик и проверьте, именно так оно и работает (т.е. кук для .domain.com прописывается с субдомена sub.domain.com). Только что проверил на своем сайте...

siv1987
На сайте с 02.04.2009
Offline
427
#6

Может. Чем по вашему будет отличаться глобальная кука которая установленна с основного домена и которая установленна с поддомена, если и у той и той стоит .domain.ru? Ничем, они обе глобальные куки.

[Удален]
#7
siv1987:
Может. Чем по вашему будет отличаться глобальная кука которая установленна с основного домена и которая установленна с поддомена, если и у той и той стоит .domain.ru? Ничем, они обе глобальные куки.

Да, ни чем не отличаются, если бы она с поддомена проставлялась. Проблема в том что не проставляется. Просто НЕ ПРОСТАВЛЯЕТСЯ. С домена такая кука проставляется, а с поддомена нет.

LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#8

Сделайте единую форму регистрации на основном сайте. А потом редирект на поддом или же через AJAX

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
siv1987
На сайте с 02.04.2009
Offline
427
#9
Emotion_schemer:
Проблема в том что не проставляется.

Что значит "не проставляется"? Каким образом вы это проверяете? Кука не доступна, доступна только на поддомене? Доп опции?

[Удален]
#10
siv1987:
Что значит "не проставляется"? Каким образом вы это проверяете? Кука не доступна, доступна только на поддомене? Доп опции?

Кука остается пустой везде.

При тех же действиях на основном домене кука доступна везде, и на поддоменах.

Чтобы было понятнее, схема такая:

Есть domain.ru

Есть много динамических поддоменов организованных через htaccess

На сайте есть форма, которая через аякс передается в скрипт domain.ru/script.php

Авторизация везде проходит корректно, но если авторизация проходит поддомене, то куки остаются пустыми.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий