Seite 1 von 2

Ersten und Zweiten Admin schützen??

Verfasst: 11.02.2007 20:11
von BennyProdo
Hallo,

ich habe ja den secure the first admin before...

naja ich möchte meinen zweiten admin auch schützen sozusagen user id 3, habe mal hier nen paar codes, wo muss ich da etwas ändern??

Hier die txt

Weiß jemand wo ich etwas ändern muss? Währe nett.

greez Benny

Verfasst: 11.02.2007 20:56
von Pyramide
Zuerst bitte im KB:knigge nachlesen, wie man 150 Zeilen langen Code normalerwise postet.

Code: Alles auswählen

if ( intval($HTTP_POST_VARS['id']) == '2' && $userdata['user_id'] != '2' ) 
Jeweils ändern in

Code: Alles auswählen

$protected_admins = array(2,3);

if(in_array(intval($HTTP_POST_VARS['id'])) && !in_array($userdata['user_id']))
Beachte, daß beim zweiten Teil $user_id statt intval($HTTP_POST_VARS['id']) steht.

Verfasst: 11.02.2007 21:09
von BennyProdo
Pyramide hat geschrieben:Zuerst bitte im KB:knigge nachlesen, wie man 150 Zeilen langen Code normalerwise postet.

Code: Alles auswählen

if ( intval($HTTP_POST_VARS['id']) == '2' && $userdata['user_id'] != '2' ) 
Jeweils ändern in

Code: Alles auswählen

$protected_admins = array(2,3);

if(in_array(intval($HTTP_POST_VARS['id'])) && !in_array($userdata['user_id']))
Beachte, daß beim zweiten Teil $user_id statt intval($HTTP_POST_VARS['id']) steht.
hab den beitrag ediert (immer diese häcktik da vergisst man alles)!

In welchen zweiten teil?? Sorry wenn ich das frage, weiß nicht was du damit meinst.

Verfasst: 11.02.2007 22:43
von nickvergessen
BennyProdo hat geschrieben:In welchen zweiten teil?
1.

Code: Alles auswählen

$protected_admins = array(2,3);)
2.

Code: Alles auswählen

if(in_array(intval($HTTP_POST_VARS['id'])) && !in_array($userdata['user_id']))
logisch oder?

Verfasst: 11.02.2007 23:01
von BennyProdo
aha.

ok hab das geändert, und dann kann man noch , 4, 5, 6 und so weiter reinmachen lol, oder?

Verfasst: 11.02.2007 23:09
von nickvergessen
BennyProdo hat geschrieben:ok hab das geändert, und dann kann man noch , 4, 5, 6 und so weiter reinmachen lol, oder?
kannst auch gleich alle Zahlen von 0-1000 einsetzen lassen.... dann brauch niemand mehr versuchen ein Profil übers ACP zuändern

Verfasst: 11.02.2007 23:13
von BennyProdo
jup werde ich machen :lol:

Verfasst: 11.02.2007 23:53
von Dawn
Wo finde ich die IDs der User?

Edit: ok vergesst es, ich hab einfach in die DB geschaut *murmel*

Edit2: mit zweiter Teil ist das hier gemeint:

Code: Alles auswählen

-----[ OPEN ]------------------------------------------
#

admin/admin_ug_auth.php

#
#-----[ FIND ]------------------------------------------
#

$user_id = intval($user_id);
$group_id = intval($group_id);

#
#-----[ AFTER, ADD ]------------------------------------------
#

// Disallow other admins to delete or edit the first admin MOD START
if ( $user_id == '2' && $userdata['user_id'] != '2' )
      {
		$edituser = $userdata['username'];
		$editok = $userdata['user_id'];
		$sql = "INSERT INTO " . ADMINEDIT_TABLE . " (edituser, editok) VALUES ('" . str_replace("\'", "''", $edituser) . "','" . $editok . "')";
		if( !($result = $db->sql_query($sql)) )
		{
		message_die(GENERAL_ERROR, 'Could not obtain adminedit information for this user', '', __LINE__, __FILE__, $sql);
		}
         message_die(GENERAL_MESSAGE, $lang['L_ADMINEDITMSG'] );
      }
// Disallow other admins to delete or edit the first admin MOD END
Wo man halt:

Code: Alles auswählen

if ( $user_id == '2' && $userdata['user_id'] != '2' )
durch:

Code: Alles auswählen

$protected_admins = array(2,3);

if(in_array($user_id) && !in_array($userdata['user_id']))
ersetzen muss. Wenn ich das richtig verstanden habe

Verfasst: 12.02.2007 00:42
von Dawn
Pyramide hat geschrieben: if(in_array(intval($HTTP_POST_VARS['id'])) && !in_array($userdata['user_id']))[/code]
Ich habe das jetzt so eingegeben, bekomme nun aber folgenden Fehler, wenn ich benutzer ansehen will:

Warning: Wrong parameter count for in_array() in /var/www/vhosts/web282/html/forum/admin/admin_users.php on line 46

Verfasst: 12.02.2007 12:04
von nickvergessen

Code: Alles auswählen

$protected_admins = array(2,3);

if(in_array($user_id) && !in_array($userdata['user_id']))
nein, ich korregiere mich ich dneke das der 2te Teil folgendes ist:

Code: Alles auswählen

!in_array($userdata['user_id'])
udn da wurde es schon ersetzt, also einfach den Code von oben benutzen, den Pyramide gepostet hat ;)