MyBB.de Forum

Normale Version: Mitgliederliste spalte hinzufügen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
in einen meiner Foren möchten die Mitglieder gerne das neben dem Benutzernamen eine Spalte ist wo der Richtige Name steht.

Iss halt nur weil sich die alten Herren nicht mehr erinnern können wer sich hinter dem Spitznamen versteckt. Big Grin

Kann man das mit wenig PHP Kenntnissen verwirklichen oder anders gefragt könnt Ihr mir dabei Helfen.

Wo / wie ist der richtige Name denn gespeichert?

Wenn es Profilfelder sind, auf die kann man sogar im Template direkt zugreifen ( {$user['fid2']} in memberlist_user Template ), allerdings ist da sinnvollerweise kein Schutz gegen HTML-Injection vorhanden, das ist also so gesehen eine Sicherheitslücke wenn du das so machst...

Du brauchst also zusätzlich auch ein Plugin, das im memberlist_user Hook dem entsprechenden Profilfeld ein htmlspecialchars() verpasst.

PHP-Code:
$plugins->add_hook('memberlist_user''deinplugin_memberlist_user');

function 
deinplugin_memberlist_user()
{
    global 
$user;
    
$user['fid2'] = htmlspecialchars($user['fid2']);

(30.01.2011, 14:13)frostschutz schrieb: [ -> ]Wo / wie ist der richtige Name denn gespeichert?

Wenn es Profilfelder sind, auf die kann man sogar im Template direkt zugreifen ( {$user['fid2']} in memberlist_user Template ), allerdings ist da sinnvollerweise kein Schutz gegen HTML-Injection vorhanden, das ist also so gesehen eine Sicherheitslücke wenn du das so machst...

Du brauchst also zusätzlich auch ein Plugin, das im memberlist_user Hook dem entsprechenden Profilfeld ein htmlspecialchars() verpasst.

PHP-Code:
$plugins->add_hook('memberlist_user''deinplugin_memberlist_user');

function 
deinplugin_memberlist_user()
{
    global 
$user;
    
$user['fid2'] = htmlspecialchars($user['fid2']);


Ich habe im Benutzer CP ein zusätliches Profilfeld angeleg wo jeder seinen Namen reinschreibt

Und dieses soll nun in die Mitgliederliste eingefügt werden

@Jockel
hatte ich schon angeschaut aber irgendwie komm ich nicht mit
Hab es soweit Geschaft
weiß jetzt nur nicht ob ich das in der 1.6.1 auch machen muss

(17.09.2008, 14:52)Michael schrieb: [ -> ]Beachte, dass dadurch eine Sicherheitslücke entsteht, die XSS ermöglicht. Um das zu beheben, öffne die Datei memberlist.php und suche nach:
PHP-Code:
eval("\$users .= \"".$templates->get("memberlist_user")."\";"); 
Darüber einfügen:
PHP-Code:
$user['fidx'] = htmlspecialchars_uni($user['fidx']); 
Ich würde es machen. Sicher ist sicher... Wink Mir ist aber nicht klar, ob Du unbedingt htmlspecialchars_uni() brauchst oder ob nicht htmlspecialchars() ausreicht, so wie frostschutz schrieb.
Tja und was mach ich nun ??
htmlspecialchars_uni() ist Mumpitz. Totaler Schwachsinn.

Bei mir sieht htmlspecialchars_uni() mittlerweile so aus:

PHP-Code:
function htmlspecialchars_uni($str)
{
    return 
htmlspecialchars($str);

Trotzdem wäre es konsequent es zu benutzen... Wink
Wird ja nicht mal von MyBB konsequent benutzt... die erlauben � & # 0 ; aber editieren kann man es dann nicht mehr weil es direkt umgewandelt wird. Das macht nur Probleme, und wird nirgends tatsächlich gebraucht, daher bleibe ich beim normalen htmlspecialchars().

PS: Hast du zufällig Lust mir zwei Plugins und einen Release-Thread auf mybb.com freizuschalten? Toungue
Da ist leider nichts freizuschalten, sonst hätte ich es längst gemacht...