Seite 1 von 1

phpBB 3.0: Externe Userregistrierung

Verfasst: 02.02.2008 14:56
von zettelbox
Hallo,

wir hatten es bei den vorherigen phpBB-Versionen so, dass wir aus einem Script auf der Homepage externe Registrierungen vorgenommen haben. Das heißt jemand hat sich bei uns auf der Homepage für einen Verein angemeldet und aus den Daten wurde dann auch eine Zeile für die phpbb_users generiert, sodass er auch Forenzugriff bekam.

Nun haben wir auf phpBB 3 umgestellt und es soll nun wieder mit dieser externen Registrierung funktionieren. Nun ist mir aber nicht klar, wie folgende Felder ermittelt werden sollen:

username_clean: Wie wird aus dem Usernamen dieser username_clean generiert?
user_password: Ich habe sowohl das Klartext-Passwort als auch den md5-Hash. Wie wird das neue Passwort generiert?
user-email-hash: Was ist das?
user_sig_bbcode_uid: Was ist das? Ist es nötig?
user_sig_bbcode_bitfield: Und auch dieses Feld - ist es zur Registrierung nötig?

Wäre super, wenn es für die angesprochenen Punkte irgendwo im phpBB3 Funktionen gibt, mit denen ich diese neuen Werte ermitteln kann. Oder sind vielleicht Werte davon gar nicht zwangsläufig nötig?

Vielen Dank im Voraus für Eure Hilfe,
zettelbox

Verfasst: 02.02.2008 16:23
von bantu
Habt ihr euch die vorgegebenen phpBB-Funktionen und -klassen mal angeschaut? Die müssten das eigentlich leisten.

Die Forensuche nach "password hash" zu bemühen, sollte auch schon einiges an Informationen bringen.

Verfasst: 02.02.2008 16:26
von zettelbox
bantu hat geschrieben:Habt ihr euch die vorgegebenen phpBB-Funktionen und -klassen mal angeschaut?
Wo finde ich die denn? Ich habe mal im Converterscript herumgesucht und bin dort auf Hinweise gestoßen, die die Existenz gewisser Funktionen wie ztf8_clean_string() andeuten. Wo ich diese Funktionen oder Klassen finde, ist mir aber nicht klar. Muss dazu sagen, dass ich von der Forensoftware keine Ahnung habe und all die Dinge wie Forenverwaltung, Softwareumstellung etc. jemand anders übernommen habe. Beherrsche allerdings PHP.
Die Forensuche nach "password hash" zu bemühen, sollte auch schon einiges an Informationen bringen.
Die richtigen Suchworte sind manchmal schon Gold wert. Vielen Dank!

Verfasst: 02.02.2008 16:29
von bantu
Naja. Wenn du PHP kannst, solltest du wissen wo man die Funktionen und Klassen findet. In den PHP-Dateien natürlich.

Eventuell hilft auch: http://area51.phpbb.com/docs/code/

Verfasst: 02.02.2008 16:32
von zettelbox
bantu hat geschrieben:Naja. Wenn du PHP kannst, solltest du wissen wo man die Funktionen und Klassen findet. In den PHP-Dateien natürlich.
:D Das ist natürlich ein sehr guter Hinweis. :D

Nun ist es aber so, dass es mehr als eine PHP-Datei gibt und diese mehr als 10 Zeilen Code enthalten. Ich hab schon etwa eine halbe Stunde gesucht, komme aber nicht ohne Hilfe hinter die Include-Klassen-Strukturen. Von daher wäre ein etwas genauerer Hinweis mit Namen der Klasse und Datei, in der die Klasse initialisiert ist, sehr hilfreich.

Dein Link hilft mir leider nicht weiter, weil die Funktionen, die ich suche, dort nicht aufgeführt sind. Daher vermute ich, dass sie wirklich irgendwo im Converter-Script drin sind. Ich habe auch schon verdächtig ähnliche Funktionsdefinitionen gefunden (z.b. function utf8_new_case_fold()), aber die Funtion utf8_clean_string ist mir immernoch verborgen. Vielleicht findet sich ja jemand, der diese Funktion kennt bzw. weiß, wo sie definiert ist.

EDIT: Ich hab sie :cookie: Mal sehen, was ich jetzt damit anfangen kann :)

Verfasst: 02.02.2008 17:24
von zettelbox
So, die Funktion, die ich gesucht habe, habe ich gefunden. Da hat man aber keine Möglichkeit, zwischen zu kommen, ohne richtig viel Zeit zu investieren. Daher würd ich den Usernamen "utf8_cleaned" selbst generieren mit einer eigenen Funktion.

Dazu bräuchte ich aber die Info: Welche Eigenschaften muss dieser Nutzername enthalten? Also folgendes ist schonmal klar:

-> Leerzeichen werden durch _ ersetzt.
-> Großbuchstaben werden in Kleinbuchstaben umgewandelt.
-> Eine Reihe von Zeichen wird ersetzt, und zwar die, die als return von ./includes/utf/confusables.php im Array zurückgegeben werden.

Muss er sonst noch gewisse Eigenschaften aufweisen?

Verfasst: 02.02.2008 17:29
von bantu
Alle Eigentschaften abdenken, kannst du nur, wenn du dir den Code anschaust. Dann kannst du ihn aber auch gleich verwenden. :wink:

Verfasst: 02.02.2008 17:32
von zettelbox
Mist.

Nee, verwenden ist ja nicht so easy. Oder wie komm ich da dran? Denn wenn ich von meinem eigenen Script aus die Funktion aufrufe, die dann wieder andere Dateien includet, fehlen ja einige Dinge wie im Script globale Variablen und Klassen, und seien es nur so banale Dinge wie $phpbb_path oder wie die Variable heißt.

Wie entscheidend ist denn dieses Feld? Also wenn dort ein nicht 100%ig abgedeckter Wert drin steht?