Ulfmann Geschrieben 26. Februar 2010 Teilen Geschrieben 26. Februar 2010 Hallo, ich habe eine Tabelle, in der der Benutzer neue Einträge anlegen kann. Wenn dieser in einem anderen Eingafeld öffnende und schließende spitze Klammern setzt, wird dies als HTML Tag interpretiert und der Inhalt nicht dargestellt. So wird ein <xyz> ignoriert und ein <i> führt dazu, dass noch folgende Buchstaben kursiv dargestellt werden. Gibt es eine Möglichkeit, diese Interpretation zu verhindern? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 26. Februar 2010 Teilen Geschrieben 26. Februar 2010 Du musst die Zeichen entsprechend maskieren. Mal schauen, was das Forum aus folgendem macht (Edith wird gleich noch was dazu sagen ): <lies mich> Ich bins, die Edith: Also das Forum macht das richtig und ersetzt die Zeichen durch folgendes: <lies mich> Wer jetzt noch wissen will, was mit dem "&" passiert, muss selbst in den Quelltext dieser Seite schauen. Schöne Grüße, Peter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ulfmann Geschrieben 26. Februar 2010 Autor Teilen Geschrieben 26. Februar 2010 Klingt sinnvoll, danke. Werd ich direkt mal ausprobieren. Bloß das würde ja heißen, ich müsste beim Auslesen des Datensatzes jeden "potentiell gefährdeten" String erstmal auf spitze Klammern untersuchen und auseinander rupfen, um ihn korrekt darstellbar zu machen. Und das aufn Freitag Gibts da nicht irgendein HTML Konstrukt, das dem Interpreter sagt, "egal, was jetzt kommt, stell es einfach dar, ohne es zu interpretieren"? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
_n4p_ Geschrieben 26. Februar 2010 Teilen Geschrieben 26. Februar 2010 also in php gäbe es funktionen die das übernehmen: PHP: htmlentities - Manual in html selbst kannt das glaub ich nur <textarea> wenn man mit style-attribute border auf 0px setzt sieht man es nicht ^^ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 26. Februar 2010 Teilen Geschrieben 26. Februar 2010 Also man sollte Daten, die vom Anwender kommen, immer in zwei Richtungen validieren und ggf. encodieren: Wenn sie ins System kommen, und wenn sie wieder ausgeliefert werden. Nur so kann man sicher sein, dass der Benutzer keinen schadhaften Code ins System einschleust (Stichwort Cross Site Scripting oder XSS). Je nachdem, mit welcher Sprache und welchen Frameworks Du arbeitest, gibt es schon mehr oder weniger komfortable Funktionen für diese Art von Überprüfung. Schöne Grüße, Peter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ulfmann Geschrieben 26. Februar 2010 Autor Teilen Geschrieben 26. Februar 2010 Mehr oder weniger bin ich auch bereits fündig geworden. Ich arbeite mit Ruby on Rails und es gibt eine Methode, die mir kompfortabel Stringteile ersetzen kann. Bisher sieht es so aus, als müsse ich sogar nur die öffnende Klammer als solche maskieren, damit der Ausdruck so dargestellt wird, wie man ihn eintippt. Jetzt kommt nur noch die Gegenrichtung (danke für den Hinweis), weil ich mich grad schon gefragt hab, wieso nun im Textfeld zum Bearbeiten mit mal <helloWorld> steht (anstatt <helloWorld>) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
_n4p_ Geschrieben 26. Februar 2010 Teilen Geschrieben 26. Februar 2010 hier für ruby: HTML Entities for Ruby Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ulfmann Geschrieben 26. Februar 2010 Autor Teilen Geschrieben 26. Februar 2010 Bingo. Genau das Richtige. Schönen Dank euch beiden Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.