YourWBB


yourWBB » WoltLab Burning Board Generation 2 * » Alles von und für das WBB 2.3.x » [WBB 2.3.x] Hacks und Addons » ID-Wechsel 1.1 » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag 8.868 Views | | Thema zu Favoriten hinzufügen

Neues Thema erstellen Antwort erstellen

Zum Ende der Seite springen ID-Wechsel 1.1
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
dennosius
Mitglied


Dabei seit: 21.12.04
Beiträge: 2

 ID-Wechsel 1.1 Antworten Zitieren Editieren Melden       UP

Titel: ID-Wechsel 1.0
Version: 1.0
Beschreibung: ID-Wechsel 1.0

Addon für WBB 2.3.3 (mit anderen Versionen nicht getestet)

Beschreibung:
Ein Benutzer, der mehrere Forum-Accounts hat, kann zwischen diesen Accounts problemlos hin- und herwechseln. Das ist praktisch z.B. für Rollenspiel-Foren. Er trägt dazu bei allen Neben-IDs den Namen seiner Haupt-ID unter Profil>Einstellungen ein. Die Passwörter müssen zuvor schon identisch sein; das Passwort kann dann nur noch bei der Haupt-ID für alle IDs gleichzeitig geändert werden.
Der User sieht dann ein Drop-Down-Menü, wo er bequem den Benutzer auswählen kann (Haupt-ID ist dort mit einem * markiert). Er landet nach dem ID-Wechsel nicht auf der Startseite, sondern wieder genau da, wo er war (praktisch, wenn einem vor der Beitragserstellung auffällt, dass man mit der falschen ID eingelogged ist).

Copyright, Credits & Disclaimer:
Ich, Dennis Jlussi, habe dieses Addon erstellt auf Ideengrundlage eines Hacks für WBB Lite von 'Jump'. Irgendwelche Lizenzbestimmungen spare ich mir, macht mit dem Code, was Ihr wollt; wer den nötigen Anstand hat, wird meinen Namen auch bei Weiterentwicklungen sicherlich in den Credits erwähnen.
Der Einbau geschieht auf eigene Gefahr. Ich kann nicht dafür garantieren, dass das Addon das tut, was es soll und auch nicht dafür, dass keine Daten verloren gehen oder keine Sicherheitslücken entstehen. Das Addon sollte nur von Leuten eingebaut werden, die den Code nachvollziehen können und wissen, was sie tun.

Demo:
http://www.tropicali.de - Das Micronation-Rollenspiel mit karibischem Flair.

Einbauzeit:
Je nach Geschick ca. 15 bis 30 Minuten.

Sicherheitsaspekte:
Es ist erforderlich, dass der Benutzer für alle seine Accounts das gleiche Passwort einstellt. Wenn das Passwort irgendwie von einem Dritten in Erfahrung gebracht wird, kann er also auf einmal mehrere Accounts kapern. Allerdings dürfte es ohnehin gängige Praxis sein, dass ein Benutzer für seine Accounts das gleiche Passwort einstellt.
Wenn zwei Benutzer das gleiche Passwort haben und der eine den anderen als Haupt-ID einträgt, dann kann er dessen Account kapern. Dass das zufällig passiert, dürfte allerdings extrem unwahrscheinlich sein und wer weiß, welcher andere Benutzer das gleiche Passwort verwendet, kann den Account auch ohne dieses Addon kapern.
Zum Thema SQL Injektionen: Soweit die originalen Formulare im UserCP geändert werden, werden die übernommenen Formularvariablen exakt so aufbereitet, wie die WBB-Originalvariablen. Die einzige Formularvariable aus der neuen changeuser.php, die in eine Datenbankabfrage übernommen wird, wird vorher durch intval() aufbereitet. Insofern dürften durch das Addon keine zusätzlichen Sicherheitslücken entstehen.

Verbesserungswürdig:
Der Admin hat im ACP keine Kontrolle über diese Usereinstellungen, eventuelle Eingriffe müssen daher direkt in der Datenbank erfolgen. Schön wäre in dem Zusammenhang vielleicht auch, das Feature nur für bestimmte Gruppen zu erlauben.
Die Texte im UserCP sollten vielleicht in Sprachvariablen übernommen werden.
Der User kann durch Direkteingabe der URL das Verbot umgehen, unter einer Neben-ID das Passwort zu ändern.
Ein hübsches Setup-Programm habe ich auch nicht geschrieben.
----
Demo: http://www.tropicali.de

weiter zum Download

Dateianhang:
png ucbild.png (8 KB, 1.789 mal heruntergeladen)

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von dennosius: 08.12.05 11:35.

14.11.05 12:11 dennosius ist offline E-Mail Finden Als Freund hinzufügen
Badboy023 Badboy023 ist männlich
Mitglied


Dabei seit: 12.02.05
Beiträge: 54
Herkunft: Von Mama
Forenversion: 2.3

 RE: ID-Wechsel 1.0 Antworten Zitieren Editieren Melden       UP

Hallo,

ich hab diesen Hack installiert. Aber irgendwas funktionier nicht! Kannst du mir helfen. Wo stell ich denn ein, dass eine ID eine Haupt oder Neben ID ist?

Gruß
07.12.05 16:49 Badboy023 ist offline E-Mail Finden Als Freund hinzufügen
dennosius
Mitglied


Dabei seit: 21.12.04
Beiträge: 2

Themenstarter Thema begonnen von dennosius
Antworten Zitieren Editieren Melden       UP

Bei der Neben-ID stellst Du die Haupt-ID als Haupt-ID ein. Bei der Haupt-ID wird gar nichts eingestellt.

Ich bin darauf hingewiesen worden, dass in der Funktion
makeuserchange()
ein kleiner Fehler ist.

Wie dem auch sei: Ich füge mal die V1.1 an, da ist auch noch einiges andere neu (Sprachvariablen...).

History
Neu in 1.1:
- User können für eine Neben-ID keine Haupt-ID einstellen, die ihrerseits eine Haupt-ID hat (also Baum-Konstruktionen werden vermieden).
- User können für eine ID, der bereits Neben-IDs zugeordnet sind, nicht ihrerseits eine übergeordnete Haupt-ID einstellen (auch das zur Vermeidung von Baumkonstruktionen).
- User können für eine Neben-ID nur noch eine Haupt-ID einstellen, wenn die Passwörter identisch sind (so kann nicht ein User für eine falsch eingetragene Haupt-ID die Einstellung blockieren).
- Eine überflüssige Datenbankabfrage entfernt im UserCP, wenn der User keine Haupt-ID eingestellt hat.
- Von einer Neben-ID aus (also wenn für den Account eine Haupt-ID eingestellt ist) kann das Passwort nicht mehr geändert werden, auch nicht durch Direkteingabe der URL.
- Sprachvariablen statt Klartext in den Templates.

Dateianhang:
zip idwechsel1.1.zip (8 KB, 75 mal heruntergeladen)

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von dennosius: 08.12.05 12:40.

08.12.05 11:34 dennosius ist offline E-Mail Finden Als Freund hinzufügen
.::Undertaker::.
Mitglied


Dabei seit: 26.01.06
Beiträge: 52

Antworten Zitieren Editieren Melden       UP

Bei mir geht das im Firefox überhaupt nicht! Bim IE geht es wunderbar aber im FF werde ich sofort abgemeldet wenn ich auch nur auf den Drop Down Button klicke!


Edit: So das Problem mit dem FF hab ich nun gelöst aber:
Jetzt bleibt nicht mehr setehn was man bei EInstellung ändern als Haupt ID angibt! Ich schreib z.B. die Zahl 1 rein aber die bleibt nicht da!

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von .::Undertaker::.: 27.03.06 15:20.

20.03.06 22:34 .::Undertaker::. ist offline E-Mail Finden Als Freund hinzufügen
propag
Mitglied


Dabei seit: 29.03.06
Beiträge: 26

Antworten Zitieren Editieren Melden       UP

Du musst den namen eingeben nicht die ID!

Ich hab das so gelöst das es nur Moderator und Admins benutzen können.
Aber das Problem ist das diese ja auch User-Accounts haben!
Wie kriege ich es hin, das noch eine andere Benutzergruppe das angucken kann?
So sollte es normal sein:
<if($wbbuserdata['userid'])><then>

So habe ich die Auswahlbox in den Footer:
<if($wbbuserdata['a_acp_or_mcp'])><then>

Also kann man das noch ändern? das noch eine bestimmte Benutzergruppe oder nur bestimmte Benutzer die ich in den Code hier reinschreibe, das sehen können, was daraufhin(Auswahlbox) folgt?
05.04.06 02:16 propag ist offline E-Mail Finden Als Freund hinzufügen
.::Undertaker::.
Mitglied


Dabei seit: 26.01.06
Beiträge: 52

Antworten Zitieren Editieren Melden       UP

Zitat:
Original von propag
Du musst den namen eingeben nicht die ID!

Ich hab das so gelöst das es nur Moderator und Admins benutzen können.
Aber das Problem ist das diese ja auch User-Accounts haben!
Wie kriege ich es hin, das noch eine andere Benutzergruppe das angucken kann?
So sollte es normal sein:
<if($wbbuserdata['userid'])><then>

So habe ich die Auswahlbox in den Footer:
<if($wbbuserdata['a_acp_or_mcp'])><then>

Also kann man das noch ändern? das noch eine bestimmte Benutzergruppe oder nur bestimmte Benutzer die ich in den Code hier reinschreibe, das sehen können, was daraufhin(Auswahlbox) folgt?


Das Problem ist ja das ich nix in die Box eingeben kann! Da ist ja der Fehler! Hab mal geguckt bzw. Manuell die DB verändert. Es wird nix rausgelesen und auch nix riengeschrieben!
05.04.06 14:23 .::Undertaker::. ist offline E-Mail Finden Als Freund hinzufügen
propag
Mitglied


Dabei seit: 29.03.06
Beiträge: 26

Antworten Zitieren Editieren Melden       UP

hmm, hast du den HAUPTNAMEN eingegeben! Nicht die Nummer sondern den Namen!
Und ACHJA das Passwort muss vorher gleich gemacht werden!

Also du hast XY-Acc und YY-ACC und XX-ACC
Du musst bei YY-ACC und XX-ACC in die Einstellungen und da XY eingeben!
Aber vorher natürlich PW gleichsetzen!
06.04.06 19:57 propag ist offline E-Mail Finden Als Freund hinzufügen
.::Undertaker::.
Mitglied


Dabei seit: 26.01.06
Beiträge: 52

Antworten Zitieren Editieren Melden       UP

Sachma hörst du mir eigentlich nicht zu? Ich hab kein Problem mit der Hauptid usw.! Erst ma muss alles aus der Datenbank ausglesen werden und reingeschrieben werden! Dann können wir darüber reden! Da li
06.04.06 22:36 .::Undertaker::. ist offline E-Mail Finden Als Freund hinzufügen
Yogi
Mitglied


images/avatars/avatar-3791.jpg

Dabei seit: 11.01.06
Beiträge: 278

Antworten Zitieren Editieren Melden       UP

Hi,

gibts hierzu was neues?

Das ist eigentlcih genau das was ich suche... Allerdings so, das es nur die Admins nutzen können...

so long

__________________

11.05.06 15:56 Yogi ist offline E-Mail Finden Als Freund hinzufügen
.::Undertaker::.
Mitglied


Dabei seit: 26.01.06
Beiträge: 52

Antworten Zitieren Editieren Melden       UP

SO das es nur die Admins nutzen können ist einfach umzuwandeln.....Kann ich selber auch (nur halt ohne das man es per ACP umschalten kann wer das kann) Aber das teil bei mir eh nicht geht......Werd ich das wohl auch nicht machen großes Grinsen
11.05.06 17:33 .::Undertaker::. ist offline E-Mail Finden Als Freund hinzufügen
propag
Mitglied


Dabei seit: 29.03.06
Beiträge: 26

Antworten Zitieren Editieren Melden       UP

Alles was nur admins sehen sollen gehört hierrein:

<if($wbbuserdata['a_can_use_acp']==1 && $wbbuserdata['a_acp_or_mcp']==1)><then>

INHALT DER NUR VON ADMINS ZUSEHEN SEIN SOLL!

</then></if>
11.05.06 21:57 propag ist offline E-Mail Finden Als Freund hinzufügen
Mirko Kum
Mitglied


Dabei seit: 04.06.05
Beiträge: 13

Antworten Zitieren Editieren Melden       UP

Wird der Fehler nun endlich behoben?
01.07.06 05:38 Mirko Kum ist offline E-Mail Finden Als Freund hinzufügen
Kirauni Kirauni ist weiblich
Mitglied


Dabei seit: 03.07.05
Beiträge: 6

Antworten Zitieren Editieren Melden       UP

Wirklich praktisch. So etwas haben sich viele meiner Rollenspieler schon gewünscht. Allerdings verläuft der Einbau nicht ganz reibungslos, da es wohl einen Fehler in der Anleitung gibt.
Keine Ahnung, ob an diesem Hack noch gearbeitet wird, aber wenn man ihn einbauen will, muss man folgenden Schritt abändern:
ange anfang
if (isset(
4. usercp.php bearbeiten

code:
1:
2:
3:
Suche: (grobe Richtung: um Zeile 470)
$db->unbuffered_query("UPDATE bb".$n."_users SET parentid='".intval($r_parentid)."', showemail='".intval($r_showemail)."', admincanemail='".intval($r_admincanemail)."', usercanemail='".intval($r_usercanemail)."', invisible='".intval($r_invisible)."', usecookies='".intval($r_usecookies)."', styleid='".intval($r_styleid)."', daysprune='".intval($r_daysprune)."', timezoneoffset='".addslashes(htmlspecialchars($r_timezoneoffset))."', startweek='".intval($r_startweek)."', dateformat='".addslashes($r_dateformat)."', timeformat='".addslashes($r_timeformat)."', emailnotify='".intval($r_emailnotify)."', notificationperpm='".intval($r_notificationperpm)."', receivepm='".intval($r_receivepm)."', emailonpm='".intval($r_emailonpm)."', pmpopup='".intval($r_pmpopup)."', umaxposts='".intval($r_umaxposts)."', showsignatures='".intval($r_showsignatures)."', showavatars='".intval($r_showavatars)."', showimages='".intval($r_showimages)."', threadview='".intval($r_threadview)."', langid='".intval($r_langid)."'".(($wbbuserdata['isgroupleader'] == 1) ? (", emailonapplication='".intval($r_emailonapplication)."'") : ("")).", usewysiwyg='".intval($r_usewysiwyg)."' WHERE userid = '$wbbuserdata[userid]'", 1);


Den Teil parentid='".intval($r_parentid)."', gibt es im originalen Quellcode vom WBB nicht. Wie auch? Ich denke, das wird für den Hack benötigt. Lässt man diese Stelle weg, findet die Suchfunktion die entsprechende Stelle.

entsprechend muss man diesen Teil ohne ".intval($r_parentid)." dann durch Folgendes ersetzen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
//Userchange anfang
if (isset($_POST['recipients'])) {
$r_parent = wbb_trim($_POST['recipients']);
list($r_parentid) = $db->query_first("SELECT userid FROM bb".$n."_users WHERE username = '".addslashes($r_parent)."' && parentid=0 && password='".$wbbuserdata['password']."' && userid!='".$wbbuserdata['userid']."'");
if (!($r_parentid>0)) {
$r_parentid = NULL;
} else {
list($childid) = $db->query_first("SELECT userid FROM bb".$n."_users WHERE parentid='".$wbbuserdata['userid']."'");
if ($childid>0) $r_parentid = NULL;
}
}
// $db->unbuffered_query("UPDATE bb".$n."_users SET showemail='".intval($r_showemail)."', admincanemail='".intval($r_admincanemail)."', usercanemail='".intval($r_usercanemail)."', invisible='".intval($r_invisible)."', usecookies='".intval($r_usecookies)."', styleid='".intval($r_styleid)."', daysprune='".intval($r_daysprune)."', timezoneoffset='".addslashes(htmlspecialchars($r_timezoneoffset))."', startweek='".intval($r_startweek)."', dateformat='".addslashes($r_dateformat)."', timeformat='".addslashes($r_timeformat)."', emailnotify='".intval($r_emailnotify)."', notificationperpm='".intval($r_notificationperpm)."', receivepm='".intval($r_receivepm)."', emailonpm='".intval($r_emailonpm)."', pmpopup='".intval($r_pmpopup)."', umaxposts='".intval($r_umaxposts)."', showsignatures='".intval($r_showsignatures)."', showavatars='".intval($r_showavatars)."', showimages='".intval($r_showimages)."', threadview='".intval($r_threadview)."', langid='".intval($r_langid)."'".(($wbbuserdata['isgroupleader'] == 1) ? (", emailonapplication='".intval($r_emailonapplication)."'") : ("")).", usewysiwyg='".intval($r_usewysiwyg)."' WHERE userid = '$wbbuserdata[userid]'", 1);
$db->unbuffered_query("UPDATE bb".$n."_users SET parentid='".intval($r_parentid)."', showemail='".intval($r_showemail)."', admincanemail='".intval($r_admincanemail)."', usercanemail='".intval($r_usercanemail)."', invisible='".intval($r_invisible)."', usecookies='".intval($r_usecookies)."', styleid='".intval($r_styleid)."', daysprune='".intval($r_daysprune)."', timezoneoffset='".addslashes(htmlspecialchars($r_timezoneoffset))."', startweek='".intval($r_startweek)."', dateformat='".addslashes($r_dateformat)."', timeformat='".addslashes($r_timeformat)."', emailnotify='".intval($r_emailnotify)."', notificationperpm='".intval($r_notificationperpm)."', receivepm='".intval($r_receivepm)."', emailonpm='".intval($r_emailonpm)."', pmpopup='".intval($r_pmpopup)."', umaxposts='".intval($r_umaxposts)."', showsignatures='".intval($r_showsignatures)."', showavatars='".intval($r_showavatars)."', showimages='".intval($r_showimages)."', threadview='".intval($r_threadview)."', langid='".intval($r_langid)."'".(($wbbuserdata['isgroupleader'] == 1) ? (", emailonapplication='".intval($r_emailonapplication)."'") : ("")).", usewysiwyg='".intval($r_usewysiwyg)."' WHERE userid = '$wbbuserdata[userid]'", 1);
//Userchange Ende



Der Rest der Anleitung scheint wieder zu stimmen. So hat es jedenfalls bei mir mit dem Einbau geklappt und man kann nun als Rollenspieler bequem zwischen mehreren Accounts umschalten. Ich habe das mit dem Wbb 2.3.6 getestet.

Nur würde ich Admins dringend davon abraten, ihren Account mit anderen zu verbinden. Vergesst nicht: Wenn ein Passwort genackt wird, sind alle Accounts geknackt, die damit verbunden worden sind!

Aber für reine Rollenspielaccounts ist das mit Sicherheit eine praktische Lösung smile

Danke für die Erweiterung!

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Kirauni: 03.08.07 16:05.

01.08.07 23:25 Kirauni ist offline E-Mail Finden Als Freund hinzufügen
Ethan Freebush Ethan Freebush ist männlich
Mitglied


Dabei seit: 30.08.07
Beiträge: 7
Fähigkeiten: WBB2 Fortgeschritten
Forenversion: 2.3

Antworten Zitieren Editieren Melden       UP

Hab das in ein 2.3.2 getestet, hat bestens geklappt.

Nur dort wo´s klappen soll, nämlich beim 2.3.6er klappts nicht?

Was kann da sein?

Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von Ethan Freebush: 02.09.07 21:55.

31.08.07 08:46 Ethan Freebush ist offline E-Mail Finden Als Freund hinzufügen
JennyCursed JennyCursed ist weiblich
Cube und Jumper Fan :)


images/avatars/avatar-4249.jpg

Dabei seit: 04.08.05
Beiträge: 67
Fähigkeiten: WBB2 Anfänger
Herkunft: nähe Wien
Forenversion: 2.3

Antworten Zitieren Editieren Melden       UP

Gibts noch irgendeinen support zu dem Style.

Ich lasse mir ja den Hack von wem einbauen, und er meinte, das die Anleitung nicht ganz fehlerfrei ist.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von JennyCursed: 19.05.09 20:36.

19.05.09 20:36 JennyCursed ist offline E-Mail WWW Finden Als Freund hinzufügen Füge JennyCursed in deine Kontaktliste ein AIM-Name von JennyCursed: jennycursed YIM-Name von JennyCursed: jennycursed MSN Passport-Profil von JennyCursed anzeigen
onesworld
gesperrt 02/05/10


Dabei seit: 11.05.09
Beiträge: 722

Antworten Zitieren Editieren Melden       UP

Zitat:
Original von JennyCursed
Gibts noch irgendeinen support zu dem Style.


Was für ein Style? verwirrt
20.05.09 08:34 onesworld ist offline Finden Als Freund hinzufügen
JennyCursed JennyCursed ist weiblich
Cube und Jumper Fan :)


images/avatars/avatar-4249.jpg

Dabei seit: 04.08.05
Beiträge: 67
Fähigkeiten: WBB2 Anfänger
Herkunft: nähe Wien
Forenversion: 2.3

Antworten Zitieren Editieren Melden       UP

Sorry Tippfehler, war mit meinen Gedanken schon weiter, meinte natürlich Hack Augenzwinkern
20.05.09 12:09 JennyCursed ist offline E-Mail WWW Finden Als Freund hinzufügen Füge JennyCursed in deine Kontaktliste ein AIM-Name von JennyCursed: jennycursed YIM-Name von JennyCursed: jennycursed MSN Passport-Profil von JennyCursed anzeigen
Kirauni Kirauni ist weiblich
Mitglied


Dabei seit: 03.07.05
Beiträge: 6

Antworten Zitieren Editieren Melden       UP

Also ich bin mir nicht sicher, was den Support angeht. Aber was die Fehler in der Anleitung angeht, da ist vieles hier im Thema verbessert worden. Die Person, die dir den Hack einbaut, sollte sich das hier einfach mal durchlesen smile
21.05.09 09:52 Kirauni ist offline E-Mail Finden Als Freund hinzufügen
JennyCursed JennyCursed ist weiblich
Cube und Jumper Fan :)


images/avatars/avatar-4249.jpg

Dabei seit: 04.08.05
Beiträge: 67
Fähigkeiten: WBB2 Anfänger
Herkunft: nähe Wien
Forenversion: 2.3

Antworten Zitieren Editieren Melden       UP

Hab den Link geschickt, bin gespannt ob alles funktioniert, kann ja dann berichten.

gibt Probleme, es wird sich ein 2. Hackeinbauer anschauen

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von JennyCursed: 21.05.09 20:45.

21.05.09 20:19 JennyCursed ist offline E-Mail WWW Finden Als Freund hinzufügen Füge JennyCursed in deine Kontaktliste ein AIM-Name von JennyCursed: jennycursed YIM-Name von JennyCursed: jennycursed MSN Passport-Profil von JennyCursed anzeigen
Baumstruktur | Brettstruktur
Gehe zu:

Neues Thema erstellen Antwort erstellen

yourWBB » WoltLab Burning Board Generation 2 * » Alles von und für das WBB 2.3.x » [WBB 2.3.x] Hacks und Addons » ID-Wechsel 1.1