Баг при авторизации и регистрации
Страницы:
Распечатать
- 1
- 2
1. Поставил у себя форум, создал админа. Логинюсь админом - пишет что вы успешно авторизовались, и возвращаемся на форум, но не залогинеными
2. На intbpro.ru после регистрации пишет что успешно зарегистрировался, и не происходит редиректа. То есть тупо смотрим на это сообщение.
в п.1 редирект тоже вроде не происходит
2. На intbpro.ru после регистрации пишет что успешно зарегистрировался, и не происходит редиректа. То есть тупо смотрим на это сообщение.
в п.1 редирект тоже вроде не происходит
. Редактировалось 2 раза, последний — #2
1. Проблема с кешированием. У вас броузер не IE, случаем? В нем такая проблема есть из-за некорректного восприятия заголовка Cache-Control: must-revalidate, хотя в остальных броузерах работает все нормально. Сейчас поискал, что можно с этим сделать, и нашел вот такое решение: нужно выдачу этого заголовка в конце функции output в app/app.php привести к такому виду:
Но тогда, возможно, в других броузерах кеширование страниц форума работать перестанет.
2. "Это не баг, это фича". Если включен отладочный режим, и что-то было отправлено на отладку с помощью функции _dbg(), то редирект не делается, чтобы это можно было увидеть, прочитать и своевременно отловить ошибку. (Конкретно на Intboard.Ru через _dbg выводится информация о времени выполнения скрипта.) Избавиться от этого можно двумя способами: либо отключить отладочный режим в настройках форума, либо отредактировать template/def/message.tpl, убрав там вот это: and not noredirect.
header('Content-Type: '.$this->get_mime());
header('Content-Length: '.ob_get_length());
// header('ETag: W/"'.$hash.'"');
if (!$this->lastmod) $this->lastmod = time();
header('Last-Modified: '.gmdate('D, d M Y H:i:s \G\M\T', $this->lastmod));
if (!$this->get_opt('nocache')) { // если кеширование на client-side не запрещено в настройках
// if ($this->is_guest()) header('Cache-Control: private, max-age=600, must-revalidate');
//else
header('Expires: -1');
header('Cache-Control: private, must-revalidate');
}
ob_end_flush();
Но тогда, возможно, в других броузерах кеширование страниц форума работать перестанет.
2. "Это не баг, это фича". Если включен отладочный режим, и что-то было отправлено на отладку с помощью функции _dbg(), то редирект не делается, чтобы это можно было увидеть, прочитать и своевременно отловить ошибку. (Конкретно на Intboard.Ru через _dbg выводится информация о времени выполнения скрипта.) Избавиться от этого можно двумя способами: либо отключить отладочный режим в настройках форума, либо отредактировать template/def/message.tpl, убрав там вот это: and not noredirect.
Критикуя — предлагай, предлагая — обосновывай!
4xpro.ru — мой личный сайт-мультиблог на Intellect Board.
4X_Pro написал(а):
Проблема с кешированием. У вас броузер не IE, случаем?
пробовал в ФФ м хроме, ИЕ даже не трогал.
Есть смысл делать как вы сказали, или по другому нужно фиксить?
Забыл еще написать: попробуйте сразу после попытки входа обновиться по Shift+F5 (принудительное обновление страницы). Если и оно не поможет, то, возможно, проблема в чем-то другом, например, не устанавливаются cookies или не сохраняются сессии на сервере. Кстати, форум в корне сайта стоит или в подразделе?
Критикуя — предлагай, предлагая — обосновывай!
4xpro.ru — мой личный сайт-мультиблог на Intellect Board.
shift+F5 и ctrl+f5 не дают эффекта.
устанавливаю в корне.
Хостинг от рег.ру, достаточно популярный. крутится на нем сайтов 40, проблемы были только при использовании конструкций из старых версий пхп, в остальном годный хостер.
Подскажите, куда копать?
устанавливаю в корне.
Хостинг от рег.ру, достаточно популярный. крутится на нем сайтов 40, проблемы были только при использовании конструкций из старых версий пхп, в остальном годный хостер.
Подскажите, куда копать?
Reg.Ru знаю (кстати, VDS, на котором стоит этот форум, тоже там находится).
Для начала проверить, ставятся ли сессионные cookie (они называются ib_sid для сессии и ib_sid_long для длительной авторизации), и какой статус ответа бывает при принудительном обновлении страницы: 200 или 304. И еще: исчезает ли проблема, если выбрать "Запомнить меня на этом форуме" или нет?
Для начала проверить, ставятся ли сессионные cookie (они называются ib_sid для сессии и ib_sid_long для длительной авторизации), и какой статус ответа бывает при принудительном обновлении страницы: 200 или 304. И еще: исчезает ли проблема, если выбрать "Запомнить меня на этом форуме" или нет?
Критикуя — предлагай, предлагая — обосновывай!
4xpro.ru — мой личный сайт-мультиблог на Intellect Board.
попросил прогера посмотреть. вот что пишет:
куки не читаются если устанавливаются как "безопасные"
счяс для долгой сессии убрал безопасность, если ставить галочку запомнить то авторизация проходит!
думаю проблема с конфигурацией сервера, php.ini или тип того!
куки не читаются если устанавливаются как "безопасные"
счяс для долгой сессии убрал безопасность, если ставить галочку запомнить то авторизация проходит!
думаю проблема с конфигурацией сервера, php.ini или тип того!
Под безопасными понимается https или http-only? Если первое, то, видимо, в переменную $_SERVER['HTTPS'] ставится что-то не то. В принципе, может быть, поможет замена вот этого (строка 869 в файле app/app.php)
setcookie(CONFIG_session.'_long', $key, $period, $this->url('/'), false, isset($_SERVER['HTTPS']),true);
на вот такую setcookie(CONFIG_session.'_long', $key, $period, $this->url('/'), false, !empty($_SERVER['HTTPS']),true);
Критикуя — предлагай, предлагая — обосновывай!
4xpro.ru — мой личный сайт-мультиблог на Intellect Board.
это не помоголо.
Прогер сделал "параметр безопасности убрал" в нескольких местах. Как-то работает сейчас
Прогер сделал "параметр безопасности убрал" в нескольких местах. Как-то работает сейчас
Страницы:
Распечатать - 1
- 2
У вас нет прав для отправки сообщений в эту тему.