1.12.7 i starsze - First Admin Always Admin
krystianr - 09-06-2010, 16:07 Temat postu: First Admin Always Admin
First Admin Always Admin
Użytkownik podany przy instalacji forum na zawsze będzie posiadał prawa administratorskie
Kod: | ############################################
Keep main admin, admin hack for phpbb (www.phpbb.com)
by Tom Brasington.
Mod Adpated : krystianr < krystianr93@wp.pl > Krystian Rudnicki www.krystianr.xaa.pl
Visit me at www.2c2d.co.uk
Also visit: www.phpbbhacks.com
############################################
This hack means if another admin or a moderator using the
mod panel tries to make the first admin not an admin, it will
instantly make the first admin an admin again preventing loss
of control.
############################################
Plików do edycji: 1
Czas: 1 minuta
Poziom: Prosty
############################################ |
Co modyfikacja potrafi:
Jeśli na forum loguje się admin i jego user_level (pole w tabeli phpbb_users, odpowiada za poziom użytkownika - jego możliwości) nie jest równy 1 (1 to administrator) to automatycznie zostaje wykonane zapytanie do bazy, które z powrotem przywraca adminowi prawa.
Pozdro dla Matteo, kevin_ i Bucu za pomoc
Matteo - 09-06-2010, 16:24
Zawsze można "prawa" usunąć poprzez bazę danych i wtedy taka modyfikacja jest zbędna .
Ernix - 09-06-2010, 16:33
a mi to nie dziala, robie tak
Kod: | -------[Otwórz /functions.php]-------
-------[Znajdź]-------
//
// Show 'Board is disabled' message if needed.
//
if ( $board_config['disable_type'] == 1 && $userdata['user_level'] != ADMIN && !defined('IN_LOGIN') )
{
if ( $board_config['board_disable'] == 'db_backup_progress' )
{
if ( $board_config['db_backup_time'] < (CR_TIME - 300) )
{
update_config('board_disable', '');
update_config('disable_type', '');
}
else
{
message_die(GENERAL_MESSAGE, $lang['Board_disable'] . '<br /><br />' . $lang['Reason'] . ': Database backup in progress please wait few seconds.');
}
-------[Dodaj Po]-------
$sql = "UPDATE " . USERS_TABLE . "
SET user_level = 1
WHERE user_id = 2";
if (!$db->sql_query($sql))
{
message_die(GENERAL_MESSAGE, 'Unable to access the Users Table.');
}
|
I inna osoba może mi zabrać administratora
Mam to przez baze zrobic czy wkleić kod w ftp?
krystianr - 09-06-2010, 18:03
Uwaga ! Aktualizacja moda w 1 poście
MagicalFire - 09-06-2010, 19:12
Matteo, wydaje mi sie ze jednak sie nie da
to jest cos takiego jak w phpBB3
Polaczek - 09-06-2010, 19:24
MagicalFire, a pole user_level?
Ernix - 09-06-2010, 19:24
Pomoże mi ktos?
krystianr - 09-06-2010, 21:28
Ernix napisał/a: | a mi to nie dziala, robie tak
Kod: | -------[Otwórz /functions.php]-------
-------[Znajdź]-------
//
// Show 'Board is disabled' message if needed.
//
if ( $board_config['disable_type'] == 1 && $userdata['user_level'] != ADMIN && !defined('IN_LOGIN') )
{
if ( $board_config['board_disable'] == 'db_backup_progress' )
{
if ( $board_config['db_backup_time'] < (CR_TIME - 300) )
{
update_config('board_disable', '');
update_config('disable_type', '');
}
else
{
message_die(GENERAL_MESSAGE, $lang['Board_disable'] . '<br /><br />' . $lang['Reason'] . ': Database backup in progress please wait few seconds.');
}
-------[Dodaj Po]-------
$sql = "UPDATE " . USERS_TABLE . "
SET user_level = 1
WHERE user_id = 2";
if (!$db->sql_query($sql))
{
message_die(GENERAL_MESSAGE, 'Unable to access the Users Table.');
}
|
I inna osoba może mi zabrać administratora
Mam to przez baze zrobic czy wkleić kod w ftp? |
cofnij to i pobierz moda z 1 postu bo zrobiłem poprawke i teraz mod chodzi.
Bucu - 09-06-2010, 21:40
Kod: | if ($userdata['user_id'] == 2 && $userdata['user_level'] != 1)
{
$sql = "UPDATE " . USERS_TABLE . " SET user_level = 1 WHERE user_id = 2";
if (!$db->sql_query($sql))
{
message_die(GENERAL_MESSAGE, 'Unable to access the Users Table.');
}
}
|
takie cos dodac (zamiast kodu z instrukcji), i wtedy bedzie wywolywane tylko wtedy kiedy glowny admin się będzie logował (id == 2) i będzie miał inny user_level niz 1, a nie za kazdym wywolaniem init_userprefs()
krystianr - 10-06-2010, 07:22
Aktualizacja moda w 1 poście
Jasek - 25-07-2010, 11:57
a jak dodać kilku adminów?
if ($userdata['user_id'] == 2,3 && $userdata['user_level'] != 1)
{
$sql = "UPDATE " . USERS_TABLE . " SET user_level = 1 WHERE user_id = 2,3 ";
if (!$db->sql_query($sql))
{
message_die(GENERAL_MESSAGE, 'Unable to access the Users Table.');
}
}
tak?
Bucu - 25-07-2010, 12:06
nie tak
Kod: | if (in_array($userdata['user_id'], array(2,3)) && $userdata['user_level'] != 1)
{
$sql = "UPDATE " . USERS_TABLE . " SET user_level = 1 WHERE user_id = 2,3 ";
if (!$db->sql_query($sql))
{
message_die(GENERAL_MESSAGE, 'Unable to access the Users Table.');
}
} |
Piwulek - 09-01-2014, 12:50
Pytanie...
Załóżmy, że zainstaluję ten mod, dam uprawnienia admina innym kilku użytkownikom, to inni admini nie będą mogli zrzucić moich uprawnień. A czy nie będą mogli usunąć mojego konta ??
Czy może dodatkowo powinienem dołożyć to:
http://www.przemo.org/php...pic.php?t=63485
|
|
|