Wie bilde ich den hash aus RC7

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Battleplayer
Mitglied
Beiträge: 3
Registriert: 25.11.2007 18:17

Wie bilde ich den hash aus RC7

Beitrag von Battleplayer »

Ich hab mich mal ein bischen im Forum umgeschaut, aber keinen mir helfenden Topic gefunden.

Mein Problem:

Ich habe auf meiner Homepage ein Login für meine Gallery.
Dieser Login soll mit den Benutzerdaten von meinem phpbb-Forum arbeiten, was auch mit phpbb2 sehr gut funktioniert hat.
Zeit phpbb3 RC7 wird mit einem Hash gearbeitet.
Meine Frage ist wie bilde ich diesen?

Wenn ich dies tue:

include" functions.php";
$hash = phpbb_hash($pass);
echo $hash;

kommt als hash immer unterschiedliche Werte zurück und niemals den Wert den ich brauche? Damit ich die functions.php von phpbb überhaupt nutzen kann muss ich ein stück der Funktion "set_config" auskommentieren sonst bekomme ich einen Fatal error!

//$sql = 'UPDATE ' . CONFIG_TABLE . "
// SET config_value = '" . $db->sql_escape($config_value) . "'
// WHERE config_name = '" . $db->sql_escape($config_name) . "'";
//$db->sql_query($sql);

//if (!$db->sql_affectedrows() && !isset($config[$config_name]))
//{
// $sql = 'INSERT INTO ' . CONFIG_TABLE . ' ' . $db->sql_build_array('INSERT', array(
// 'config_name' => $config_name,
// 'config_value' => $config_value,
// 'is_dynamic' => ($is_dynamic) ? 1 : 0));
// $db->sql_query($sql);
//}


Ich bitte euch helft mir. Ich habe schon viel Zeit reingehängt, bekomme es aber einfach nicht hin. Was mach ich falsch?
Boecki91
Ehemaliges Teammitglied
Beiträge: 4744
Registriert: 18.06.2006 15:21

Beitrag von Boecki91 »

Mit phpbb_hash() wird er gebildet und mit phpbb_check_hash($password, $hash) überprüft.

Um Die fuctions.php richtig einzubeinden muss deine Galerie ähnlich wie phpBB3 aufgebaut sein schau dir doch mal die Vorlage an:
http://olympuswiki.naderman.de/Adding_pages
Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
Battleplayer
Mitglied
Beiträge: 3
Registriert: 25.11.2007 18:17

Beitrag von Battleplayer »

Also meine Funktion um zu überprüfen ob das Password richtig ist sah mit phpbb2 so aus:

<?php
function login_right($id, $pass)
{
$sql = "SELECT
COUNT(*) as Anzahl
FROM
users
WHERE
ID = '".$id."' AND
Password = MD5('".$pass."');";
$result = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($result);
mysql_free_result($result);
return $row['Anzahl'];
}
?>

Jetzt müsste man das ganze soweit umschreiben, dass statt MD5 da php_hash steht und das ganze noch funktioniert :-?

<?php
function login_right ($id, $pass)
{
include "phpbb_functions.php";

$hash = phpbb_hash($pass);

$sql = "SELECT
COUNT(*) as Anzahl
FROM
newphpbb_users
WHERE
user_id = '".$id."' AND
user_password = '".$hash."'";
$result = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($result);
mysql_free_result($result);
echo $row['Anzahl'];
}
?>

Natürlich funktioniert das nicht :evil: .
Ich habe heute wieder 7 Stunden reingesteckt und habe es immer noch nicht geschaft :-(. An alle PHP Experten und phpbb Experten. Bitte helft mir.

Übrigens wem es weiterhelfen würde um mir zu helfen. Der Login ist von quakenet (http://tut.php-quake.net/login.html).
Boecki91
Ehemaliges Teammitglied
Beiträge: 4744
Registriert: 18.06.2006 15:21

Beitrag von Boecki91 »

wieso nimmst du nicht

Code: Alles auswählen

phpbb_check_hash($USERPASSWORT, $EINGEGEBNESPASSWORT)
Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
Battleplayer
Mitglied
Beiträge: 3
Registriert: 25.11.2007 18:17

Beitrag von Battleplayer »

Könntest du das mal bitte so in die Funktion reinbauen, wie du dir das vorstellst?! :cry:
Boecki91
Ehemaliges Teammitglied
Beiträge: 4744
Registriert: 18.06.2006 15:21

Beitrag von Boecki91 »

Ich weiß ja garnicht wie du sie einbauen willst :D
Du brauchst einmal den Hash aus der DB und einmal die Benutzereingabe, welceh du mit phpbb_hash() verschlüsselt hast, die jagst du dann biede gelcihzeitig durch die Funktion
Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
Antworten

Zurück zu „Coding & Technik“