Hallo,
ich bin dran, ein primitives Plugin zu basteln, welches einem einen simplen HTML Text aus der DB holt und anzeigt. Nun brauche ich noch ein Backend dafür und bin auch schon soweit, als dass ich mittels ckEditor das ganze Editieren kann. Leider verlier ich aber beim Speichern immer alle HTML Tags auf dem Text. Vermutlich aus diesem Grund :
Admidio lässt generell über alle übergebenen $_GET und $_POST Varialben die Funktionen strip_tags und addslashes laufen. Damit ist es zum einen nicht möglich HTML-Code in eine Variable einzubauen, sowie SQL-Injection einfach durchzuführen.
Nun - ich find einfach nicht raus, wie ich das umgehen kann. In eurem Message-Modul macht ihr das gleiche (bzw ich seh den Unterschied nicht) beim schreiben in adm_messages_content -> msc_message.
Kann mich da jemand aufklären?
grundsätzlich kannst du per $_POST['text'] immer den Text bekommen, den du auch in das Feld eingegeben hast. - Ohne jede Prüfung. - der hinweis den du gelesen hast, der steht dort, weil wir in admidio für Übergaben grundsätzlich eine Funktion verwenden:
in dieser Funktion werden dann ein paar plausibilitätsprüfungen und korrekturen.
man kann über weitere parameter auch standartwerte festlegen oder überprüfen.
DANKE DANKE DANKE für den tip mit dem file string.php. ich hab mich echt langsam gefragt und war kurz vor dem platzen
merci euch beiden für den schnellen support!
genau - das habe ich auch gesehen und darum oft "gespickt" bzw kopiert aus dem Announcement Modul. Dass ich ein Plugin geschrieben habe hat folgenden Grund:
- allem voran der Reiz, selber auszuprobieren, wie gut bzw. schlecht meine php und sql Kenntnisse sind
- ich brauche ein zusätzliches Modul (Announcement ist auch aktiv für eben Ankündigungen)
- Es soll nur einen Datenbankeintrag geben, der verändert werden kann, sonst erstellen mir meine User (bzw Leiter) 100 Einträge, da Sie nicht verstehen, wie man den one and only Eintrag editiert. --> Es muss DAU kompatibel sein.
und hier trat eben das Problem auf mit dem HTML code, da ich nicht herausgefunden habe, warums im Modul Announcement funktioniert und bei meinem (kopierten & "erleichterten")Code nicht...
Soweit zu meinen Beweggründen...
Grüsse, swid