Beiträge: 257
Themen: 28
Registriert seit: 15.10.2008
MyBB-Version: 1.6.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.
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.
4 x 1.6 PHP Version 5.2.11-0 MySQL 5.0.77
Beiträge: 2.318
Themen: 13
Registriert seit: 09.11.2008
30.01.2011, 14:13
(Dieser Beitrag wurde zuletzt bearbeitet: 30.01.2011, 14:21 von frostschutz.)
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']);
}
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
30.01.2011, 14:20
(Dieser Beitrag wurde zuletzt bearbeitet: 30.01.2011, 14:21 von Jockl.)
Beiträge: 257
Themen: 28
Registriert seit: 15.10.2008
MyBB-Version: 1.6.1
30.01.2011, 14:38
(Dieser Beitrag wurde zuletzt bearbeitet: 30.01.2011, 15:26 von Norbert.)
(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.
4 x 1.6 PHP Version 5.2.11-0 MySQL 5.0.77
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Ich würde es machen. Sicher ist sicher...
Mir ist aber nicht klar, ob Du unbedingt htmlspecialchars_uni() brauchst oder ob nicht htmlspecialchars() ausreicht, so wie frostschutz schrieb.
Beiträge: 257
Themen: 28
Registriert seit: 15.10.2008
MyBB-Version: 1.6.1
Tja und was mach ich nun ??
Gruß Norbert
In der Ruhe liegt die Kraft.
4 x 1.6 PHP Version 5.2.11-0 MySQL 5.0.77
Beiträge: 2.318
Themen: 13
Registriert seit: 09.11.2008
htmlspecialchars_uni() ist Mumpitz. Totaler Schwachsinn.
Bei mir sieht htmlspecialchars_uni() mittlerweile so aus:
PHP-Code:
function htmlspecialchars_uni($str)
{
return htmlspecialchars($str);
}
Beiträge: 25.766
Themen: 269
Registriert seit: 20.09.2005
Trotzdem wäre es konsequent es zu benutzen...
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 2.318
Themen: 13
Registriert seit: 09.11.2008
30.01.2011, 21:08
(Dieser Beitrag wurde zuletzt bearbeitet: 30.01.2011, 21:10 von frostschutz.)
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?
Beiträge: 25.766
Themen: 269
Registriert seit: 20.09.2005
Da ist leider nichts freizuschalten, sonst hätte ich es längst gemacht...
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.