Mod. Gotowe < [ 1.9.5 ] - [MOD]First Admin always admin
daroo - 12-09-2005, 13:30 Temat postu: [MOD]First Admin always admin Mod dzięki któremu pierwszy admin podany przy instalacji forum będzie nim na zawsze!
Mod nie jest mojego autorstwa(autor podany w instrukcji instalacji moda).Powinnień działać w wersji przema, u mnie na forum nie pokazuje żadnych błędów!
O wszystkich błędach prosze pisać tu!
irekk - 12-09-2005, 13:45
i w ten sposob mamy o jedno zapytanie niepotrzebnie wiecej
daroo - 12-09-2005, 13:48
lepsze to niż jakby Cie jaki¶ dobry współadmin usunał z admina
irekk - 12-09-2005, 13:51
no to robisz moda takiego by nikt (poza nim samym) nie mogl edytowac zezwolen dla usera o ID 2 i po sprawie
Kod: | pozatym w PA jest mozliwosc wykonania zapytania wiec wystarczy DELETE FROM phpbb_users WHERE user_id = 2 |
i juz ominiete jest to twoje zabezpieczenie, w dodatku bedzie wywalalo blad ze nie mozna odnalezc usera o ID 2
daroo - 12-09-2005, 13:58
To dajesz ze tylko admin pierwszy może dawać zapytania do bazy z poziomu PA
gbs napisał/a: | i juz ominiete jest to twoje zabezpieczenie |
Przecież pisałem ze to nie jest mod mojego autorstwa!
irekk - 12-09-2005, 14:00
to juz prosciej jest zrobic to o czym ja pisalem
Cytat: | Przecież pisałem ze to nie jest mod mojego autorstwa! Wink |
ale skoro go tu umieszczasz znaczy ze polecasz a ja stwierdzilem ze ten mod jest do niczego i tylko obciaza niepotrzebnie serwer mysql
przecinek - 12-09-2005, 14:12
To już lepiej zrobić Kod: | if($user_id==2 AND $userdata['user_level'] != ADMIN)
{
$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.');
}
} |
irekk - 12-09-2005, 14:18
a nie przypadkiem Kod: | $userdata['user_id']==2 |
przecinek - 12-09-2005, 14:43
Nie, bo to przecież bzdura, lepiej dodać w sessions.php po
Kod: | $userdata = $db->sql_fetchrow($result); |
kod Kod: | if($userdata['user_id']==2 AND $userdata['user_level'] != ADMIN):
$sql = "UPDATE " . USERS_TABLE . "
SET user_level = " . ADMIN . "
WHERE user_id = 2";
if (!$db->sql_query($sql)):
message_die(GENERAL_MESSAGE, 'Unable to access the Users Table.');
endif
$userdata['user_level'] = ADMIN;
endif | wtedy nie trzeba będzie nawet przeładowywać strony ;D
Radek - 12-09-2005, 15:37
Kod: |
#
#-----[ OPEN ]-----------------------------------------
#
admin/admin_users.php
#
#-----[ FIND ]------------------------------------------
#
if( $HTTP_POST_VARS['deleteuser'] )
#
#-----[ REPLACE WITH ]------------------------------------------
#
//
// Main Admin can't be deleted
//
if( $HTTP_POST_VARS['deleteuser'] && $user_id == 2)
{
message_die(GENERAL_ERROR, $lang['Main_Admin_Undeleted'] );
}
if( $HTTP_POST_VARS['deleteuser'] && $user_id != 2)
|
kawalek z moda Main Admin Security dzieki temu nie mozemy usunac glownego admina, do tego dodac jeszcze warunek na degradacje admina i chyba wyjdzie an to samo
a moze sie myle...
|
|
|