Если пользователь вошел в систему PHPBB, есть хороший шанс, хотя и не всегда, что у него будет cookie, который вы можете прочитать и помочь с проверкой того, кто есть кто против базы данных.
В этом случае вам нужно разбить крошки печенья ниже:
$_COOKIE["phpbb2mysql_data"]
Давайте воспользуемся примером и рассмотрим его, чтобы найти данные, которые нам нужно запросить в базе данных. Ниже приведен фрагмент указанного выше файла cookie:
a:2:{s:11:"autologinid";s:0:"";s:6:"userid";s:1:"3";}
Для этого вам нужно зайти и извлечь ту цифру «3», которая соответствует зарегистрированному пользователю PHPBB.
Десериализуйте эти данные, чтобы извлечь этот user_id:
$goo = unserialize($_COOKIE["phpbb2mysql_data"]);
$extracted_id = $goo["userid"];
(Спасибо epochwolf за указание на приведенную выше сериализованную форму этого файла cookie)
Это число будет полезно сравнить с базой данных, чтобы проверить, к какой группе принадлежит участник. И вы должны запустить проверку по phpbb_user_group таблице (если бы у вас был phpbb_ в качестве префикса ваших таблиц форума.)
Если вы не хотите отслеживать идентификаторы групп из базы данных, вам нужно будет выполнить какое-то соединение и проверить имя. Может быть, примерно так:
SELECT pug.user_id FROM phpbb_user_group pug
LEFT JOIN phpbb_groups g
ON pug.group_id=g.group_id
WHERE pug.user_id='$extracted_id'
AND g.group_name='Foo';
Если вы можете вытащить из этого строку, значит, вы вошли в систему как пользователь, принадлежащий к этой группе Foo.
person
random
schedule
10.03.2009