Welche Datei speichert neue Passwörter?

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Meister-Möbius
Mitglied
Beiträge: 26
Registriert: 20.02.2008 18:57

Welche Datei speichert neue Passwörter?

Beitrag von Meister-Möbius »

Hallo zusammen,

seit einiger Zeit durchforste ich die Dateien von phpbb und eine Funktion habe ich irgendwie immer noch nicht gefunden. Vielleicht habe ich sie ja auch übersehen. Im ACP und im UCP kann man neue Passwörter festlegen. Ich bin auf der Suche nach der Datei, die das neue Passwort in die Datenbank einträgt. Alle ähnlichen Funktionen (neuer User, Aktivieren, Löschen ...) sind ja in der inlcudes/functions_user.php.

Vielleicht könnt ihr mir ja bei der Suche helfen.
Vielen Dank für eure Hilfe!

Gruß
Meister-Möbius
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17476
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Was möchtest Du denn machen, wenn Du die Funktion gefunden hast ?
Boecki91
Ehemaliges Teammitglied
Beiträge: 4744
Registriert: 18.06.2006 15:21

Beitrag von Boecki91 »

Schau doch mal in der functions.php

Änderungen sollte per einfachen SQL-Befehl geändert werden können, so viel gibt es da nicht zu beachten.
Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
Meister-Möbius
Mitglied
Beiträge: 26
Registriert: 20.02.2008 18:57

Beitrag von Meister-Möbius »

Dr.Death hat geschrieben:Was möchtest Du denn machen, wenn Du die Funktion gefunden hast ?
Auch wenn das jetzt etwas blöd klingt, ich will sie mir anschauen. Ich finde das ganze salt-md5 System einfach nur sehr interessant und würde es gerne etwas besser verstehen. Wie das ganze generiert und verschlüsselt wird, habe ich -hoffentlich- verstanden. Nur fehlt mir irgendwie der Teil, wo die in die Datenbank geschrieben werden. Ich will einfach nur wissen, wie das genau abläuft. Sonst ist da nichts dahinter.
Boecki91 hat geschrieben:Schau doch mal in der functions.php
Einfacher SQL-Befehl ist eigentlich klar. Nur wo steht der da? Ich finde zwar die ganzen Funktionen, die md5 salzen, aber das Datenbankupdate sehe ich da nicht?
Boecki91
Ehemaliges Teammitglied
Beiträge: 4744
Registriert: 18.06.2006 15:21

Beitrag von Boecki91 »

Du suchst doch wohl nicht ernst haftig nach dem SQL-Code?

Ich dachte du hättest den Mechanismus verstanden, da sollte ein SQL Befehl recht schnell zu finden sein, suche doch den Ort wo die Funktionen verwendet werden und schließe die falschen Stellen systematisch aus.
Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17476
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Nur ein Beispiel:

Szenario der Registrierung und Vergabe des Passworts:

die ucp.php ruft die includes/ucp/ucp_register.php auf

Dort wird, wenn alle Daten korrekt angegeben worden sind ( ab Zeile 314 ) das Array $user_row() befüllt ( u.a. auch mit dem gehashten Passwort ).

Code: Alles auswählen

				$user_row = array(
					'username'				=> $data['username'],
					'user_password'			=> phpbb_hash($data['new_password']),
					'user_email'			=> $data['email'],
					'group_id'				=> (int) $group_id,
					'user_timezone'			=> (float) $data['tz'],
					'user_dst'				=> $is_dst,
					'user_lang'				=> $data['lang'],
					'user_type'				=> $user_type,
					'user_actkey'			=> $user_actkey,
					'user_ip'				=> $user->ip,
					'user_regdate'			=> time(),
					'user_inactive_reason'	=> $user_inactive_reason,
					'user_inactive_time'	=> $user_inactive_time,
				);
Danach wird werden die gesammelten Daten an die Funktion "user_add()" übergeben: ( die wird in der includes/functions_user.php bereitgestellt, so ab Zeile 152 )

Code: Alles auswählen

				// Register user...
				$user_id = user_add($user_row, $cp_data);

Das übergebene Array wird nun weiter in der includes/functions_user.php aufgeschlüsselt: ( Code Auszug )

Code: Alles auswählen

	$sql_ary = array(
		'username'			=> $user_row['username'],
		'username_clean'	=> $username_clean,
		'user_password'		=> (isset($user_row['user_password'])) ? $user_row['user_password'] : '',
		'user_pass_convert'	=> 0,
		'user_email'		=> strtolower($user_row['user_email']),
		'user_email_hash'	=> crc32(strtolower($user_row['user_email'])) . strlen($user_row['user_email']),
		'group_id'			=> $user_row['group_id'],
		'user_type'			=> $user_row['user_type'],
	);
Und anschliessend noch mit ein paar optionalen Angaben bereichert in die Datenbank geschrieben:

Code: Alles auswählen

	// Now fill our sql array with the remaining vars
	if (sizeof($remaining_vars))
	{
		foreach ($remaining_vars as $key)
		{
			$sql_ary[$key] = $user_row[$key];
		}
	}

	$sql = 'INSERT INTO ' . USERS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary);
	$db->sql_query($sql);
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“