Ошибка входа в админпанель после некоторых изменений в коде

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

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

Ошибка входа в админпанель после некоторых изменений в коде

Сообщение rcoder »

Господа специалисты, такая ситуация:

успешно поставил и заставил работать мод adv_phpbb3_mod_rewrite V0.4.8, но он не скрыл то, для чего собственно я его поставил - это id сессии в гет запросе (?sid).
Взял в руки напильник и прошелся по коду форума, убрал sid из гет запроса, заменив его на session_id(), что вполне успешно рабтает для гостей и авторизованых пользователей.
Но я немного обламался, когда меня перестало пускать в админку. После авторизации как админа, форум говорит, что авторизация прошла успешно и сейчас буду перемещен а админ раздел, но когда он меня перемещает, моя сессия аннулируется, тоесть вместо админа превращается в гостевую сессию и в админку ессно не пускает. Методом "научного тыка" определил, что запрос в функции session_begin() /* файл session.php */, который определяет мою сессию (код ниже), почему то не срабатывает, хотя сам запрос потом в пхпмайадмин'e выводил то, что нужно...
В общем, этот один и тот же запрос везде срабатывает, кроме момента, когда пытаюсь пройти проверку админа.
Вот код оригинального запроса:

Код: Выделить всё

			$sql = 'SELECT u.*, s.*
				FROM ' . SESSIONS_TABLE . ' s, ' . USERS_TABLE . " u
				WHERE s.session_id = '" . $db->sql_escape($this->session_id) . "'
					AND u.user_id = s.session_user_id LIMIT 1";
Какие идеи насчет этого?

Заранее благодарен.
Последний раз редактировалось rcoder 02.02.2009 13:33, всего редактировалось 1 раз.
Аватара пользователя
Rayden
Former team member
Сообщения: 3739
Стаж: 21 год 2 месяца
Поблагодарили: 44 раза

Re: Технический вопрос

Сообщение Rayden »

Правило 2.2: Название темы должно кратко описывать суть вашего вопроса,
phpBB2 FAQ
phpBB3 FAQ
rcoder
phpBB 1.0.0
Сообщения: 4
Стаж: 17 лет 7 месяцев

Re: Ошибка входа в админпанель после некоторых изменений в коде

Сообщение rcoder »

изменения в коде, которые я делал:

в файле common.php
добавил строчку после error_reporting();

Код: Выделить всё

session_start();
в файле session.php в методе session_begin() после кода

Код: Выделить всё

		}
		else
		{
			$this->session_id = $_SID = request_var('sid', '');
			$SID = '?sid=' . $this->session_id;
		}
добавил

Код: Выделить всё

		$this->session_id = $_SID = session_id(); 
		$SID = '?sid=' . $this->session_id;
дальше в методе session_begin() строку

Код: Выделить всё

		$this->session_id = $this->data['session_id'] = md5(unique_id());
заменил на

Код: Выделить всё

		$this->session_id = $this->data['session_id'] = session_id(); //md5(unique_id());
в файле adm/index.php после

Код: Выделить всё

require($phpbb_root_path . 'common.' . $phpEx);
добавил

Код: Выделить всё

$_GET['sid'] = session_id();

ну еще закоментировал непосредственно прикручивание sid к гет запросу в моде adv_phpbb3_mod_rewrite.
Аватара пользователя
Izya
Former team member
Сообщения: 408
Стаж: 18 лет
Откуда: Абакан, Сибирь
Благодарил (а): 1 раз
Поблагодарили: 28 раз

Re: Ошибка входа в админпанель после некоторых изменений в коде

Сообщение Izya »

rcoder писал(а):не скрыл то, для чего собственно я его поставил - это id сессии в гет запросе (?sid)
А разве для этого не достаточно всего лишь правильно настроить куки?.. :?

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