anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Mo 09 Jun, 2025 13:37

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Comment-Ausgabe HTML fähig machen
BeitragVerfasst: Sa 10 Apr, 2010 00:30 
Offline
Lehrling
Lehrling
Benutzeravatar

Registriert: Mi 08 Okt, 2008 18:34
Beiträge: 46
Huhu, Ja ich weiß ein Output HTML fähig zu machen gestatet sich ja recht Simpel.. dachte ich zumindest am Anfang..

aber als ich in der Common nach gschaut habe, hab ich irgendwie nichts gefunden, was ich als Commentar-Ausgabe definieren konnte xD

lediglich diese:


if ($sec!="x") output("`n`b$sec`b`n",true);

output(implode('',$v),true);

die ich testweise schon auf True gestellt hat, es aber nichts gebracht hat, dennoch scheint genau diese Stelle die Kommentarausgabe zu sein, da ich sie mit einem Justify umrahmt hab und es funktioniert hatte was ich wollte xD

nur das was ich grad local aufm testserver testen will haut nicht so ganz hin mh. Denn wenn ich html Inhalte als Kommentar absende ist das ja schön und gut, aber er wird auch genau so ausgegeben wie ich ihn abgesendet hab^^


hat jemand vllt ne Idee?

Ps: Nein ich will nicht das User HTML in ihren Kommentaren benutzen können.. ich will lediglich ein "farbtag" für ein kleines Bild einbauen.. eine Gedankenblase. Sämtliche HTML eingaben von usern würd ich ausfiltern bevor sie in die Datenbank gelangen (nur was zum Thema Sicherheit)^^ und es soll ja wie gesagt nur nen Test werden^^

lg


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 10 Apr, 2010 01:47 
Offline
Lehrling
Lehrling

Registriert: Mi 12 Mär, 2008 23:53
Beiträge: 42
So wie du das gemacht hast ist es richtig, der Output ist html fähig und du hast im grunde auch die richtigte stelle, aber wenn ein user ein comment schreibt läuft sein comment vor der ausgabe durch die funktion HTMLEntities() wodurch die html tags umcodiert werden und dadurch einfach angezeigt werden.

Hoffe ich hab richtig verstanden was gemeint ist.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 10 Apr, 2010 02:26 
Offline
Lehrling
Lehrling
Benutzeravatar

Registriert: Mi 08 Okt, 2008 18:34
Beiträge: 46
Ah lol auf die Idee hätt ich ja auch mal kommen können xD danke dir^^

also muss ich das Entities raus nehmen und dafür meinen eigenen Filter beim Speichern des comments einbasteln, dann sollt es ja hin hauen.

Thx!^^


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So 11 Apr, 2010 14:08 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Bessere Lösung: Ersetze alle HTMLEntities mit HTMLSpecialchars. Gleiche Sicherheit - und äöü etc. werden nicht zu ä.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di 13 Apr, 2010 22:42 
Offline
Lehrling
Lehrling
Benutzeravatar

Registriert: Mi 08 Okt, 2008 18:34
Beiträge: 46
aber wenn ich's einfach nur umändere, dann bleibt das Endergebnis der Ausgabe doch das gleiche? sprich html als Quellcode?^^

ich hätts jetzt einfach gemacht die HTMLEntities raus genommen und dafür beim Speicher-Eingang nen Filter eingebaut der grob gesagt alle HTML-inhalte direkt raus filtert und durch Leerzeichen ersetzt ^^

was man vllt mit HTMLEntities bzw HTMLSpecialchars Kombinieren kann (also als "suchfilter") das habsch aba noch nich probiert, da mir derzeit aus beruflichen Gründen nen bissl Zeit zum coden fehlt.^^


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi 14 Apr, 2010 08:41 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Wenn man die Beschreibung der Funktion HTMLSpecialchars() in der Dokumentation nachsehen würde, wüsste man, was sie tut. Sie verwandelt(fast) alle Zeichen in Entities, die in HTML eine Spezialbedeutung haben - namentlich sind das &, " und <>. Mit einem Zusatz entitiert sie auch '.

Warum hab ich wohl gleiche Sicherheit hingeschrieben? ;)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi 14 Apr, 2010 09:17 
Offline
Lehrling
Lehrling
Benutzeravatar

Registriert: Mi 08 Okt, 2008 18:34
Beiträge: 46
Okay danke :) dann weiß ichs nu wie ichs mache *das juckt mir in den Fingern es zu testen >.<*

also ich nehm bei der Ausgabe die HTMLEntities komplett raus und lasse die comments vor dem speichern einmal durch das HTMLSpecialchars laufen. Dadurch sollte die Ausgabe HTML fähig sein, jedoch ohne dass die User selbst HTML Inhalte posten können. Sags mir falls ich mich täusche xD


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi 14 Apr, 2010 09:55 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Wenn ich ganz ehrlich bin, habe ich den Ursprungspost nicht gelesen und bin offensichtlich von einem anderen Problem ausgegangen. Abgesehen davon erspart man sich durch HTMLSpecialchars einige Probleme, die in Kombination mit Farbcodes und der Commentary auftreten (`ä wird zu `&auml;).

Um eine bestimmte Zeichenkette in ein Bild zu verwandeln, ohne aber HTML zu erlauben, hast du zwei Möglichkeiten:
  • Erweitern der appoencode() um einen dritten Parameter $fromCommentary, der standardgemäss auf false steht, um Kompabilität zu bewahren - die commentary übergibt aber true an die appoencode als dritten Parameter - dort kannst du dann nach der Filtration von HTML das bestimmte Zeichen durch dein Bild ersetzen lassen.
  • Ersetzen des Zeichens durch Bild nach der Anzeige der Kommentare durch eine zusätzliche, eigene Funktion, die das Zeichen in den HTML-Bild-Code verwandelt, in etwa output(myPictureDisplay(appoencode($comments, false)));


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi 14 Apr, 2010 22:09 
Offline
Lehrling
Lehrling
Benutzeravatar

Registriert: Mi 08 Okt, 2008 18:34
Beiträge: 46
Okay, habs nun mal getestet.. ich hab das Entities komplett gelöscht und vor der Speicherung das Comment durch Specialchars laufen lassen. Funzt alles Super :)

oder gibs da nun auf diesem Weg irgend eine Sicherheitsschwachstelle, die mir nicht aufgefallen ist?^^'


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 15 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum