HTML-Code wird falsch in Datenbank gespeichert

Begonnen von ortwin20000, 31 Oktober 2005, 09:15:17

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

ortwin20000

Hallo Community,
ich verwendete seit einiger Zeit FCKEditor 2.0 und jetzt Spaw-Editor für PragmaMX 0.1.6 in einem selbst geschriebenem Modul. Darin werden Ausschreibungen (in HTML) von verschiedenen Seiten in den Editor kopiert und anschließend in der Datenbank gespeichert um sie danach in unserem Intranet anzeigen zu können.

Das Problem das ich seit einiger Zeit habe ist dass der HTML-Code nicht richtig in der Datenbank gespeichert wird. Besonders aufgefallen sind mir die beiden Zeichen: < und >
er speichert sie immer als &lt; und &gt; ab.

Das Problem ist das dies die ganze Seite zusammenschmeißt wenn ich die Ausschreibung dann im Intranet anzeigen möchte. Ich muß dann händisch in der Datenbank &lt; in < und &gt; in > umwandeln. Dann funktioniert alles.

Ich hoffe ihr könnt mir helfen dieses Problem zu lösen.

mfg
Andreas

jubilee

Hallo !
Dies dürfte an den aktivierten Sicherheitsfunktionen des Pragmamx liegen.
Dort werden auch sicherheitsgründen verschiedene Zeichen gegen ihre Entitäten ersetzt
um das Einschleusen von Code zu erschweren.
Das selbstgeschriebene Modul wandelt  diese Entitäten nicht zurück . Daher kommt dieses Problem.
Kannst ja mal ausprobieren, ob das Problem mit abgeschalteter Sicherheitsfunktion auch noch auftritt.

MfG
jubilee


ortwin20000

Danke für die rasche Antwort  :)
Ich habe bereits bei den HTML-Optionen alles auf erlauben eingestellt falls du das gemeint hast. Bei mir ist auch die Intranet-Umgebung-Option auf Ein gestellt.

Meinst du vielleicht "Nicht zugelassenen HTML-Code aus Übergabeparametern filtern"?
Das ist bei mir auf lesbare Zeichen eingestellt aber das bezieht sich doch auf die HTML-Optionen oder?

lg
Andreas

Andi

Hi :)

bei "Nicht-Admins" werden die Zeichen  < und > bei der Formularübergabe in ihre Entitäten ersetzt. Was ja von der HTML-Spezifikation auch richtig ist, solange es sich nicht um erlaubte Tags handelt.

Normalerweise ist das auch kein Problem.
Probleme entstehen erst, wenn das Modul diesen Vorgang entweder beim Speichern oder beim Auslesen aus der Datenbank wiederholt. Dann ist das doppeltgemoppelt und die Anzeigefehler entstehen.
Wir hatten hier im Forum das selbe Problem und haben für die kommende pragmaMx Version 0.1.7 für diese Fälle eine kleine Krücke eingebaut...

Man müsste sich mal das Modul ansehen.
Kannst mir gerne mal zusenden.
schön´s Grüssle, Andi

ortwin20000

Habs im Moment mal so gelöst das ich beim auslesen aus der Datenbank die entsprechende Variable auf &lt; und &gt; überprüfe und falls vorhanden mit < oder > ersetze. Somit kann mir bei dem Modul egal sein ob diese Zeichen beim Speichern geändert werden da sie bei der Anzeige wieder richtig ersetzt werden.

Falls du trotzdem das Modul mal anschauen möchtest gib Bescheid.
Ist aber sicher bescheiden wenn nicht sogar umständlich programmiert da ich das Modul mit wenig php-kenntnissen zusammengebastelt habe.

lg
Andreas

Andi

Fein, wenn es so funzt ist das doch die richtige und einfachste Lösung  :thumbup:

Wenn du willst kannst du mir das Modul trotzdem zusenden.  :)
schön´s Grüssle, Andi