ich bin mir nicht sicher, ob das mal ging oder es eine Einbildung meinerseits ist. Aber konnte man in der Kurzbeschreibung der Profilfelder mal html nutzen und somit auch einen Link zu einem Thema im Forum einfügen?
Alle Sonderzeichen der Beschreibung werden durch MyBB maskiert. Daher erscheint jede HTML als Text.
Dies würde nur durch eine PHP-Code Änderung funktionieren.
./admin/module/config/profile_fields.php
Zeile 86:
"description" => $db->escape_string($mybb->input['description']),
So sollte die Maskierung aufgehoben werden:
"description" => $mybb->input['description'],
Da nur Admins die Profilfelder erstellen und ändern können, sehe ich hier absolut kein Risiko, die Maskierung zu entfernen.
@[ExiTuS]:
Deine vorgeschlagene Änderung öffnet eine böse Sicherheitslücke (SQL Injection). $db->escape_string ist an dieser Stelle wichtig und hat keinerlei Einfluss auf die Ausgabe von HTML.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Ich habe mich vertan. Die Umwandlung erfolg erst im Frontend, gar nicht im ACP.
Diese Änderung sollte wieder rückgängig gemacht werden.
Die von Stefan erwähnte Sicherheitslücke wäre zwar nutzbar, aber nur im ACP durch den Admin, der sich selbst eine SQL-Injection unterschieben möchte.
Stattdessen kannst du folgende Änderung durchführen, um die korrekte HTML-Syntax in der Beschreibung beizubehalten.
./member.php / Zeile 915:
$profilefield['description'] = htmlspecialchars_uni($profilefield['description']);
ändern zu:
$profilefield['description'] = $profilefield['description'];
Danke, ich denke mal die member.php wäre auch falsch. Da die Beschreibung der Kurzbeschreibung ja im Usercp ist und somit da dann auch die Ansicht ist. Aber vielleicht habe ich mich da auch missverständlich ausgedrückt. Also es geht um die Ansicht des Beschreibungstext im UserCP und das habe ich jetzt mit Hilfe der Anpassung "sichtbar" gemacht.
@StefanT: Ich hoffe das öffnet dann keine Sicherheitslücke? Es geht nur um den Beschreibungstext, wo ja eigentlich niemand sonst etwas einfügen kann.
Eine Änderung der "member.php" würde bedeuten, dass der HTML-Link auch im Profil des Mitglieds korrekt erscheint.
Wenn Mitgliedern im User-CP der HTML-Link angezeigt werden soll, dann ist die Änderung identisch für:
./usercp.php in Zeile 520
Die Specialchar-Konvertierung für HTML-Elemente stellt niemals eine Sicherheitslücke dar, weil es lediglich bestimmte Zeichen eines HTML-Elements in einfache Zeichenketten umwandelt (wie z.B. eckige Klammer auf (<) / zu (>), abschließender Schrägstrich (/) etc). Diese werden verwandelt in uninterpretierbare Strings: "<", ">" etc., die der Browser nur als Zeichen und nicht als Element interpretiert.
Keine Sorge! Das ist absolut nicht sicherheitsrelevant. Es ist lediglich Syntax für die Anzeige im Browser und hat keinerlei Funktion.
Die member.php hat nichts gebracht. Nochmal, es geht um die Kurzbeschreibung im Usercp. Diese Kurzbeschreibung des Profilfelds wird in der Member.php nicht angezeigt. Es geht nicht um den Inhalt der Felder, sondern um die Beschreibung.
[ExiTuS] schrieb:[...]
Wenn Mitgliedern im User-CP der HTML-Link angezeigt werden soll, dann ist die Änderung identisch für:
./usercp.php in Zeile 520
[...]