Registrierung von Extern?

PcSy
Hallo, eigentlich suche ich einen Hack wo ich von einer Externen Seite die Registierung im Wbb2.3.6pl2 vornehmen kann.

In dem Forum selbst kann man sich selbt nicht anmelden.

Jedoch möchte ich in verbindung mit einen bestehenden Script, das jede anmeldung dort auch eine Anmeldung im Forum beinhaltet.

Wie kann man das lösen? Wo werden welche daten bei der Normalen Registrierung aus dem Forum heraus hin geschrieben?

Leider werde ich aus der Registreiungs php nicht schlau.

Wäre dankbar für jede hilfe.
[kamui]
Such mal nach allen INSERT-Befehlen in der register.php, das sind die Befehle, die du brauchst Augenzwinkern
PcSy
und wie bekomme ich es hin, das ich den user sofort die richtige Gruppe zuweise? sprich z.b. GameAdmin, oder besser gesagt "Mitglied von YXZ"?
[kamui]
Mit der Suche nach "INSERT"-Befehlen solltest du auf folgende Zeilen aufmerksam geworden sein:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
$db->query("INSERT INTO bb".$n."_users (username,password,sha1_password,email,groupcombinationid,rankid,regdate,lastvisit,lastactivity,usertext,signature,icq,aim,yim,msn,homepage,birthday,scndbirthday,gender,showemail,admincanemail,usercanemail,invisible,usecookies,styleid,activation,daysprune,timezoneoffset,startweek,dateformat,timeformat,emailnotify,notificationperpm,receivepm,emailonpm,pmpopup,umaxposts,showsignatures,showavatars,showimages,threadview,langid,rankgroupid,useronlinegroupid,allowsigsmilies,allowsightml,allowsigbbcode,allowsigimages,usewysiwyg,reg_ipaddress) ".
            "VALUES ('".addslashes($r_username)."','".md5($r_password)."', '".sha1($r_password)."', '".addslashes($r_email)."','$groupcombinationid','$rankid[rankid]','".time()."','".time()."','".time()."','".addslashes($r_usertext)."','".addslashes($r_signature)."','".intval($r_icq)."','".addslashes($r_aim)."','".addslashes($r_yim)."','".addslashes($r_msn)."','".addslashes($r_homepage)."','".addslashes($birthday)."','".addslashes($scndbirthday)."','".intval($r_gender)."','".intval($r_showemail)."','".intval($r_admincanemail)."','".intval($r_usercanemail)."','".intval($r_invisible)."','".intval($r_usecookies)."','".intval($r_styleid)."','".intval($activation)."','".intval($r_daysprune)."','".addslashes($r_timezoneoffset)."','".intval($r_startweek)."','".addslashes($r_dateformat)."','".addslashes($r_timeformat)."','".intval($r_emailnotify)."','".intval($r_notificationperpm)."','".intval($r_receivepm)."','".intval($r_emailonpm)."','".intval($r_pmpopup)."','".intval($r_umaxposts)."','".intval($r_showsignatures)."','".intval($r_showavatars)."','".intval($r_showimages)."','".intval($r_threadview)."','".intval($r_langid)."','$groupid','$groupid','$allowsmilies','$allowhtml','$allowbbcode','$allowimages','".intval($r_usewysiwyg)."', '".addslashes($REMOTE_ADDR)."')");
            $insertid $db->insert_id();
            $db->query("INSERT INTO bb".$n."_userfields (userid".$fieldlist.") VALUES (".$insertid.$fieldvalues.")");
            
            $db->query("INSERT INTO bb".$n."_user2groups (userid,groupid) SELECT '$insertid' as userid,groupid FROM bb".$n."_groups WHERE grouptype='4'");   
            if ($emailverifymode == || $emailverifymode == 2$db->query("INSERT INTO bb".$n."_user2groups (userid,groupid) SELECT '$insertid' as userid,groupid FROM bb".$n."_groups WHERE grouptype='2'");            $db->query("INSERT INTO bb".$n."_users (username,password,sha1_password,email,groupcombinationid,rankid,regdate,lastvisit,lastactivity,usertext,signature,icq,aim,yim,msn,homepage,birthday,scndbirthday,gender,showemail,admincanemail,usercanemail,invisible,usecookies,styleid,activation,daysprune,timezoneoffset,startweek,dateformat,timeformat,emailnotify,notificationperpm,receivepm,emailonpm,pmpopup,umaxposts,showsignatures,showavatars,showimages,threadview,langid,rankgroupid,useronlinegroupid,allowsigsmilies,allowsightml,allowsigbbcode,allowsigimages,usewysiwyg,reg_ipaddress) ".
            "VALUES ('".addslashes($r_username)."','".md5($r_password)."', '".sha1($r_password)."', '".addslashes($r_email)."','$groupcombinationid','$rankid[rankid]','".time()."','".time()."','".time()."','".addslashes($r_usertext)."','".addslashes($r_signature)."','".intval($r_icq)."','".addslashes($r_aim)."','".addslashes($r_yim)."','".addslashes($r_msn)."','".addslashes($r_homepage)."','".addslashes($birthday)."','".addslashes($scndbirthday)."','".intval($r_gender)."','".intval($r_showemail)."','".intval($r_admincanemail)."','".intval($r_usercanemail)."','".intval($r_invisible)."','".intval($r_usecookies)."','".intval($r_styleid)."','".intval($activation)."','".intval($r_daysprune)."','".addslashes($r_timezoneoffset)."','".intval($r_startweek)."','".addslashes($r_dateformat)."','".addslashes($r_timeformat)."','".intval($r_emailnotify)."','".intval($r_notificationperpm)."','".intval($r_receivepm)."','".intval($r_emailonpm)."','".intval($r_pmpopup)."','".intval($r_umaxposts)."','".intval($r_showsignatures)."','".intval($r_showavatars)."','".intval($r_showimages)."','".intval($r_threadview)."','".intval($r_langid)."','$groupid','$groupid','$allowsmilies','$allowhtml','$allowbbcode','$allowimages','".intval($r_usewysiwyg)."', '".addslashes($REMOTE_ADDR)."')");
            $insertid $db->insert_id();
            $db->query("INSERT INTO bb".$n."_userfields (userid".$fieldlist.") VALUES (".$insertid.$fieldvalues.")");
            
            $db->query("INSERT INTO bb".$n."_user2groups (userid,groupid) SELECT '$insertid' as userid,groupid FROM bb".$n."_groups WHERE grouptype='4'");   
            if ($emailverifymode == || $emailverifymode == 2$db->query("INSERT INTO bb".$n."_user2groups (userid,groupid) SELECT '$insertid' as userid,groupid FROM bb".$n."_groups WHERE grouptype='2'");


Diese registrieren den User mit seinen Daten in der Datenbank.

Auf der Suche nach der Gruppe, wirst du früher oder später auf $groupcombinationid stoßen, welches die Verarbeitung der Variable $groupids mit eine wBB-internen Funktion ist. $groupids wiederrum setzt sich zusammen aus $groupid und $wbbuserdata['groupid'].

Wenn du nun nach diesen beiden Variablen suchst, findest du folgende Codestelle:
php:
1:
2:
$wbbuserdata getwbbuserdata(2"grouptype"1);
        list($groupid) = $db->query_first("SELECT groupid FROM bb".$n."_groups WHERE grouptype=4");


Diese generiert sowohl $groupid wie auch $wbbuserdata['groupid'] Augenzwinkern
PcSy
Okay, soweit habe ich das auch verstanden, jetzt ist es so das die Combination "User" + "Mitglied XYS" nicht besteht weil, diese noch nicht vergeben wurde.

Sobald diese einmal vergeben wurde (zumindest im ACP) ist die combination auch in der Tabelle gespeichert. Das müsste jedoch auch bei der Registrierung der fall sein, dabei habe ich die Array

$comefromreg["page"]["04563"] ="75";
$comefromreg["page"]["04863"] ="85";

So das sind die Gruppen die der User zugewiesen sein sollte. Wenn von der einen Webseite sich angemeldet wird soll der User gruppen id 5 (user?) und 75 (Gruppe Mitglied xys zu geordnet werden.

bei Seite 2 entsprechent wieder user und id 85 (Mitglied ptz)

jedoch liegt dort noch keine "cominations" vor, so das es herzlich wenig bringt wenn ich die "combination" den user zu teilen will, das es die combi nicht gibt.

Oder muss ich für jede Gruppe erst mal einen user die ganzen Gruppen zu teilen und immer wieder eine entfernen? damit ich die passende Combi in der Tabelle habe?