PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie html im Nicknamen verhindern?



Rallef
03.04.2008, 17:28
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?

jpwfour
03.04.2008, 17:47
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 ??

jpwfour
03.04.2008, 18:46
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)

Hardy
03.04.2008, 22:03
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?

jpwfour
03.04.2008, 23:21
jup, es ist schon wieder etwas anderes, und noch in keinem update bzw. keiner version eine dahingehende validierung des eingegebenen nicknames enthalten.

VMS1
04.04.2008, 04:26
$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

Rallef
04.04.2008, 14:48
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?

jpwfour
04.04.2008, 17:10
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.

VMS1
04.04.2008, 20:09
*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

Rallef
05.04.2008, 19:45
Kein Thema ;-)
durch dich bin ich eigentlich erst drauf gekommen ^^


Also vielen Dank für die Hilfen hier im Thread