Nicht berechtigt

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Been Told
Mitglied
Beiträge: 23
Registriert: 05.09.2005 11:21
Wohnort: Keine Ergebnisse gefunden.

Beitrag von Been Told »

Hab entdeckt, daß die profile.php bei der Aktivirung usercp_activate.php aufruft. Hier die Datei:

Code: Alles auswählen

<?php
/***************************************************************************
 *                            usercp_activate.php
 *                            -------------------
 *   begin                : Saturday, Feb 13, 2001
 *   copyright            : (C) 2001 The phpBB Group
 *   email                : support@phpbb.com
 *
 *   $Id: usercp_activate.php,v 1.6.2.8 2005/07/19 20:01:16 acydburn Exp $
 *
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 *
 ***************************************************************************/

if ( !defined('IN_PHPBB') )
{
	die('Hacking attempt');
	exit;
}

$sql = "SELECT user_active, user_id, username, user_email, user_newpasswd, user_lang, user_actkey 
	FROM " . USERS_TABLE . "
	WHERE user_id = " . intval($HTTP_GET_VARS[POST_USERS_URL]);
if ( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not obtain user information', '', __LINE__, __FILE__, $sql);
}

if ( $row = $db->sql_fetchrow($result) )
{
	if ( $row['user_active'] && trim($row['user_actkey']) == '' )
	{
		$template->assign_vars(array(
			'META' => '<meta http-equiv="refresh" content="10;url=' . append_sid("index.$phpEx") . '">')
		);

		message_die(GENERAL_MESSAGE, $lang['Already_activated']);
	}
	else if ((trim($row['user_actkey']) == trim($HTTP_GET_VARS['act_key'])) && (trim($row['user_actkey']) != ''))
	{
		if (intval($board_config['require_activation']) == USER_ACTIVATION_ADMIN && $userdata['user_level'] != ADMIN)
		{
			message_die(GENERAL_MESSAGE, $lang['Not_Authorised']);
		}

		$sql_update_pass = ( $row['user_newpasswd'] != '' ) ? ", user_password = '" . str_replace("\'", "''", $row['user_newpasswd']) . "', user_newpasswd = ''" : '';

		$sql = "UPDATE " . USERS_TABLE . "
			SET user_active = 1, user_actkey = ''" . $sql_update_pass . " 
			WHERE user_id = " . $row['user_id']; 
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not update users table', '', __LINE__, __FILE__, $sql_update);
		}

		if ( intval($board_config['require_activation']) == USER_ACTIVATION_ADMIN && $sql_update_pass == '' )
		{
			include($phpbb_root_path . 'includes/emailer.'.$phpEx);
			$emailer = new emailer($board_config['smtp_delivery']);

			$emailer->from($board_config['board_email']);
			$emailer->replyto($board_config['board_email']);

			$emailer->use_template('admin_welcome_activated', $row['user_lang']);
			$emailer->email_address($row['user_email']);
			$emailer->set_subject($lang['Account_activated_subject']);

			$emailer->assign_vars(array(
				'SITENAME' => $board_config['sitename'], 
				'USERNAME' => $row['username'],
				'PASSWORD' => $password_confirm,
				'EMAIL_SIG' => (!empty($board_config['board_email_sig'])) ? str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']) : '')
			);
			$emailer->send();
			$emailer->reset();

			$template->assign_vars(array(
				'META' => '<meta http-equiv="refresh" content="10;url=' . append_sid("index.$phpEx") . '">')
			);

			message_die(GENERAL_MESSAGE, $lang['Account_active_admin']);
		}
		else
		{
			$template->assign_vars(array(
				'META' => '<meta http-equiv="refresh" content="10;url=' . append_sid("index.$phpEx") . '">')
			);

			$message = ( $sql_update_pass == '' ) ? $lang['Account_active'] : $lang['Password_activated']; 
			message_die(GENERAL_MESSAGE, $message);
		}
	}
	else
	{
		message_die(GENERAL_MESSAGE, $lang['Wrong_activation']);
	}
}
else
{
	message_die(GENERAL_MESSAGE, $lang['No_such_user']);
}

?>
Auf meinem Forum müssen alle neuen accounts vom Admin aktivirt werden. Kann es sein, daß die Fehlermeldung deswegen kommt?
Ich meine spezielle diesen Teil hier:

Code: Alles auswählen

if (intval($board_config['require_activation']) == USER_ACTIVATION_ADMIN && $userdata['user_level'] != ADMIN)
		{
			message_die(GENERAL_MESSAGE, $lang['Not_Authorised']);
		}
Sollte ich das einfach entfernen oder irgendwie ändern?
Been Told
Mitglied
Beiträge: 23
Registriert: 05.09.2005 11:21
Wohnort: Keine Ergebnisse gefunden.

Beitrag von Been Told »

Markus67 hat geschrieben:Hi ...

hast du bei der Registrierung "Freischaltung durch Admin" aktiviert ?

Markus
Jep.
Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag von Markus67 »

Been Told hat geschrieben:
Markus67 hat geschrieben:Hi ...

hast du bei der Registrierung "Freischaltung durch Admin" aktiviert ?

Markus
Jep.
Dann kann auch nur der Admin freischalten :wink:
Das ganze funktioniert wenn du "Freischaltung per eMail" aktivierst.

Markus
Been Told
Mitglied
Beiträge: 23
Registriert: 05.09.2005 11:21
Wohnort: Keine Ergebnisse gefunden.

Beitrag von Been Told »

Ich habe es jetzt eben auch grade gedacht. Das Problem ist aber, daß ich keine Benachrichtigung kriege, wenn jemand sein Passwort vergessen hat und das Feature benutzt. Die kriegen dann nur die Fehlermeldung und fertsch. Die wissen nicht, was sie damit machen sollen und gehen einfach wieder. :(
Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag von Markus67 »

Hi ...

wenn das PW angefordert wird, wird automatisch der Account auf inaktiv gestellt. Der Link den die User bekommen dient dazu, dass der Account wieder aktiviert wird. Das können die User aber nicht, da die Freischaltung nur durch den Admin erfolgen kann.

Demzufolge musst du dann die User im Adminbereich wieder aktivieren.

Markus
Been Told
Mitglied
Beiträge: 23
Registriert: 05.09.2005 11:21
Wohnort: Keine Ergebnisse gefunden.

Beitrag von Been Told »

Ja schon klar. Nur ist es halt blöd, daß der Admin davon aber keinen Schimmer hat. Ich habe ja keine benachrichtigung bekommen, daß jemand da sein Passwort vergessen hat und auf inaktiv geschaltet worden ist.
Es ist ja in dem Sinne ein bug, also habe ich es im Bugtracker gemeldet.
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“