Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie html im Nicknamen verhindern?
Hallo,
wie kann man verhindern, dass User im Nicknamen Html verwenden?
Und gibts gleichzeitig eine Möglichkeit, wie ich das als Admin mit dem eigenen Account trotzdem noch verwenden kann?
krass, das fällt mir erst jetzt auf!
das ist ja schon fast eine sicherheitslücke, da so user ja javascript einschleusen können, was bei jedem, der die seite aufruft, ausgeführt wird, sofern man eine wer ist online liste anzeigen lässt.
umgehen lässt sich das wie folgt:
datei: content/konto/userprofil.php
nach:
if (isset ($_POST['nickname'])) {
$nickname = mysql_real_escape_string(ucfirst($_POST['nickname']));folgende zeile einfügen:
$nickname = strip_tags($nickname);wobei ich sogar noch eine zeichenbegrenzung einfügen würde, ansonten kann ein nickname mit 200 zeichen schon etwas das design sprengen:
$nickname = substr($nickname,0,15);bei "15" einfach die maximale zeichenanzahl eintragen
EDIT:
nur um allen die tragweite dieser möglichkeit zu zeigen, auf seiten, wo auch unngemeldeten usern listen mit usernamen, z.bsp die top 5 klicker oder so angezeigt werden, kann man damit seinen eigenen layer oder sogar eine umleitung auf eine andere website einbinden, sofern der eigene nick in dieser liste vorhanden ist. (funzt natürlich nur bei aktiviertem js)
didith1207
03.04.2008, 18:14
Ich dachte das wäre im vms1.2 nicht mehr möglich ??
also in der version, die ich mir gezogen habe, ist es möglich, sowie auch bei einigen vms's, bei denen ich angemeldet bin.
siehe
http://www.klammrausch.de/index.php
(tagesklickralley)
und
http://www.meinelose.de/index.php
(top 10 klicker)
jeweils "Jpwfour" fett und größer (<b><big>)
beide nutzen die neueste vms version!
(dieses beispiel gilt nur für eingie stunden, da ich ja aus diesen listen auch wieder verschwinde bzw. meinen nick auch wieder ändern werde)
gab ja mal ein update dagegen (nehnme ich jetzt zumindest mal an)
http://www.designerscripte.net/downloads.php?do=file&id=171
oder ist das schon wieder wo anders was?
jup, es ist schon wieder etwas anderes, und noch in keinem update bzw. keiner version eine dahingehende validierung des eingegebenen nicknames enthalten.
$nickname = htmlentities($nickname);
Finde ich persönlich besser. Dann sieht man wenigstens, wer es versucht^^
Fehlt übrigens bei vielen Eingabefeldern. Supportticket ist nur eins davon.
Um die Nickname-Länge zu begrenzen, würde ich einfach in vms_userdaten VARCHAR (15) einstellen.
Gruß
Marco
Na wunderbar,
also:
$nickname = htmlentities($nickname);
kann ich dann anstelle von:
$nickname = strip_tags($nickname);
einfügen, damit ich sehe, wer html versucht einzufügen
und diese hier:
$nickname = substr($nickname,0,15);
kommt dann direkt drunter
So richtig?
ja, so richtig :biggrin:
und für die länge des usernamens würde ich beides anwenden, also die länge in der datenbank begrenzen sowie substr() verwenden, den doppelt hält besser :D
mit htmlentities() sieht man zwar, wer es versucht, aber dann sehe die nicknames ja nicht mehr so schön aus, ich persönlich würde sogar noch weiter gehen und nur buchstaben, ziffern und evtl noch _ und - erlauben.
*g* Schon klar das das nicht so schön aussieht. Kann man ja auch halten wie ein dachdecker :smile:
Aber wenn ein Nickname mit <script, <iframe, <img oder so anfängt, weiß ich wen ich von der Seite werfe^^
Gruß
Marco
Medusier
04.04.2008, 23:38
Sorry Rallef,
das ich es bei dir auch gemacht habe, wollte nur demonstrieren, dass es da einen Fehler gibt. Habe die Lösung ja auch bereits gepostet. "Leider" war JPWFOUR schneller *G*
Gruß
Medusier
Kein Thema ;-)
durch dich bin ich eigentlich erst drauf gekommen ^^
Also vielen Dank für die Hilfen hier im Thread
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.