Есть php скрипты, один из которых авторизирует юзера через сессии (используется $_SESSION["userd_id"] для переменных сессии), остальные юзают выставленную переменную в качестве идентификатора сессии.
Проблема в том, что на одном хостинге это работает (из любой директории), на другом - с непостоянной регулярностью (из корневого Document Root - всегда, а из поддиректорий - не всегда). На втором хостинге для сайта имеется несколько алиасов (www.host.ru, host.ru, www.host.nnov.ru). Если из-за этого, то почему из Document Root директории авторизирует всегда ?!
ПОд термином "не работает" я имею ввиду - после авторизации пользователя другие скрипты получают значение переменной $_SESSION["userd_id"] = '', а не id.
Сравнивал результат вывода phpinfo() - для сессий одинаковый и для первого и второго хостинга. На рабочем хостинге стоит php 4.3.1, на нерабочем - 4.3.3 (но вряд ли от этого что-то меняется).
То ли сессия выставляется для неправильного пути, то ли expiration time у нее кривой при загрузке скриптов из поддиректорий ?!
МОжно ли как-то отследить какие текущие параметры сессии установлены ? Штука в том, что с помощью стандартной функции PHP для получении параметров сессии мне возвращается path ="/", expires = "0" остальные два поля - пустые. Это ИМХО неправильно.
0 Сообщения: 102 Зарегистрирован: 13.06.03 Откуда: Харьков, Украина
Добавлено: 2 Февраль 2004, 13:01:24
В начале инициализирующего модуля (у тебя ведь есть такой?) ещё до session_start() проверяешь хост и если он не "www.host.ru", делаешь header("Location: http://www.host.ru/");
Ну остаток запроса, само собой, дописываешь.
Т.о. открывается сессия всегда на одном домене. На остальных до её открытия скрипт не доходит.
Прочитать _куки_ может только домен, его записавший. Security.
Выход: либо не использовать куки,
либо работать только с одним доменом, а с остальных перебрасывать на главный.
Прочитать _куки_ может только домен, его записавший. Security
Прочитать куки вообще никто не может. Браузер посылает куки тому домену, для которого они выставлены. Соответственно, никто не запрещает выставить куки для другого домена.
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.