Проблема с сессиями и куками

Форум для авторов модов для phpBB 3.0.x. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Sianukvil
phpBB 1.0.0
Сообщения: 1
Стаж: 15 лет 5 месяцев

Проблема с сессиями и куками

Сообщение Sianukvil »

Приветствую!
Есть небольшая проблемка - пишу интеграцию(автологин) сайта с форумом - юзер логинится на сайте и автоматом логинится на форуме. Создал в директории форума файл autologin.php, куда GET-ом прилетают логин и пароль (знаю, что решение кривоватое, но сам движок сайта тоже немного кривой, поэтому это единственная альтернатива). Так вот, в этом файлике вызывается метод $auth->login().

Если вызвать скрипт напрямую (http://www.site.ru/forum/autologin.php? ... &pass=pass), то все нормально, сессия создается в БД, создается кук (в админке куки настроил) и юзер залогинивается. Если же вызвать файл из файла авторизации на самом сайте ф-ией file_get_contents(), то запись в БД сессий создается, а вот кук нет. Пробовал и без куков - получал sid ф-ией append_sid и пытался зайти на форум с ней, но фоум ее игнорирует, сразу редиректит на index.php и создает новую сессию, а не подхватывает эту. Куки же вообще не пишутся, даже вручную(пробовал и $user->set_cookie() и просто setcookie()).

Еще раз повторюсь, что если вызвать скрипт руками , то все ОК. Не подскажете, в чем может быть проблема?
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 6 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: Проблема с сессиями и куками

Сообщение MIT »

Функция file_get_contents запрашивает данные от имени сервера, а не от имени пользователя. Соответсвенно, авторизовывается на форуме сервер, сессия привязывается к IP сервера, серверу же высылается его сессионная кука.

Зачем вообще работать через GET? Инклудь нужные файлы форума и производи аутентификацию по-человечески.

Вернуться в «Для авторов (phpBB 3.0.x)»