Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste
Mitgliederliste spalte hinzufügen
#1
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.

Gruß Norbert

In der Ruhe liegt die Kraft. Cool

4 x 1.6 PHP Version 5.2.11-0 MySQL 5.0.77
#2
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']);

#3
Sieh Dir mal diese beiden Themen an:
https://www.mybb.de/forum/thread-10432.html
https://www.mybb.de/forum/thread-704.html
viele Grüße
Jockl
übersetzte und eigene Plugins
#4
(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']); 
Gruß Norbert

In der Ruhe liegt die Kraft. Cool

4 x 1.6 PHP Version 5.2.11-0 MySQL 5.0.77
#5
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.
viele Grüße
Jockl
übersetzte und eigene Plugins
#6
Tja und was mach ich nun ??
Gruß Norbert

In der Ruhe liegt die Kraft. Cool

4 x 1.6 PHP Version 5.2.11-0 MySQL 5.0.77
#7
htmlspecialchars_uni() ist Mumpitz. Totaler Schwachsinn.

Bei mir sieht htmlspecialchars_uni() mittlerweile so aus:

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

#8
Trotzdem wäre es konsequent es zu benutzen... Wink
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
#9
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
#10
Da ist leider nichts freizuschalten, sonst hätte ich es längst gemacht...
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.