Passwort über externes Skript ändern - Sonderzeichen-Problem
Verfasst: 11.03.2014 02:13
Hallo,
ich würde gerne über ein externes Skript das Passwort von bereits registrierten phpBB-Usern direkt in der Datenbank ändern. Hierfür lese ich das neue Passwort über ein Eingabefeld ein, generiere den Hash-Wert über die Funktion "phpbb_hash" und schreibe es dann in der "phpBB_users" Tabelle der Datenbank in das Feld "user_password" des entsprechenden Forenusers. Für die Generierung des Hash-Wertes nutze ich den folgenden Code:
Das ganze funktioniert auch soweit. Probleme gibt es allerdings, wenn im neuen Passwort Anführungszeichen (") auftauchen. Dann kann ich mich danach mit dem verwendeten Passwort nicht in den Forenaccount einloggen. Es scheint ein spezifisches Problem der phpbb_hash Funktion zu sein, denn im selben Skript erstelle ich vom neuen Passwort für einen anderen Login einen normalen sha1-Hash und hier funktioniert das Einloggen auch mit Anführungszeichen im Passwort.
Hat jemand eine Idee, wie ich das Problem lösen kann. Also wie ich aus einem Passwort, das Anführungszeichen enthält, einen gültigen phpBB-Hash erzeugen kann?
Bin für jeden Lösungsansatz dankbar.
Viele Grüße
Christian
ich würde gerne über ein externes Skript das Passwort von bereits registrierten phpBB-Usern direkt in der Datenbank ändern. Hierfür lese ich das neue Passwort über ein Eingabefeld ein, generiere den Hash-Wert über die Funktion "phpbb_hash" und schreibe es dann in der "phpBB_users" Tabelle der Datenbank in das Feld "user_password" des entsprechenden Forenusers. Für die Generierung des Hash-Wertes nutze ich den folgenden Code:
Code: Alles auswählen
$phpbb_root_path = 'forum/';
if (!defined('IN_PHPBB')) // phpBB not already included, than include required files
{
define('IN_PHPBB', true); // must be set to include phpbb-files
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include $phpbb_root_path . 'common.' . $phpEx;
include $phpbb_root_path . 'includes/functions_display.' . $phpEx;
}
require $phpbb_root_path . 'config.php'; // include config for database-data
$passwort = $_POST["neuesPasswort"];
$passwortHash = phpbb_hash($passwort);
Hat jemand eine Idee, wie ich das Problem lösen kann. Also wie ich aus einem Passwort, das Anführungszeichen enthält, einen gültigen phpBB-Hash erzeugen kann?
Bin für jeden Lösungsansatz dankbar.
Viele Grüße
Christian