kostenloser Webspace werbefrei: lima-city


Problem mit embed

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    mein-wunschname

    mein-wunschname hat kostenlosen Webspace.

    Ich habe einen Blog, bei dem ich auch gelegentlich Charts einbinde. Das erfolgt etwa so
    <embed src="/charts/inflation-usa-02-erdoel-effektiv.php" type="image/svg+xml" style="width:95%">


    Diese PHP-Datei erzeugt einen Chart im SVG-Format mit Hilfe dieser Bibliothek.

    Jetzt habe ich festgestellt, dass in diversen Beiträgen, in denen früher die Anzeige der Charts einwandfrei funktioniert, jetzt nichts mehr zu sehen ist. Die Charts an sich sind noch in Ordnung, man kann sie auch als Einzelseiten aufrufen. Ich suche jetzt verzweifelt nach der Fehlerquelle. Das einzige, was sich im Verlaufe der zeit geändert hat ist eigentlich Firefox. Ist <embed...> jetzt obsolet? Hat jemand eine Idee, woran es sonst liegen könnte?

    Wenn ich die Charts mit <img...> einbinde sind sie zu sehen. Allerdings kann man mit img bestimmte Möglichkeiten der Bibliothek nicht ausnutzen.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. welche PHP version läuft auf dem Server? Überprüf mal, dann könnte es sein, dass du die Semantik der PHP Datei anpassen müsstest, je nachdem wie das aufgesetzt ist.
  4. Autor dieses Themas

    mein-wunschname

    mein-wunschname hat kostenlosen Webspace.

    Da läuft

    PHP Version 7.3.11-1+0~20191026.48+debian9~1.gbpf71ca0

    Bin da selbst admin.
  5. Hast du geprüft, ob die Semantik in der PHP Datei passt?
    Ich denke es liegt nicht an der "embed" Funktion, sondern eher an der PHP. Du kannst aber neben der Breite auch die Höhe mal angeben vlt. auch als fixen Wert, um die Seite zu zwingen diesen Platz zu reservieren. Nicht dass es einen Konflikt beim Platz gibt, sodass das mit Höhe 0 angezeigt wird.

    Am Ausdruck ist vorerst nichts auszusetzen.
  6. Autor dieses Themas

    mein-wunschname

    mein-wunschname hat kostenlosen Webspace.

    Danke für die Hinweise. Ich kann zwar mit

    Semantik in der PHP Datei


    nicht viel anfangen, aber ich habe inzwischen die Fehlerquelle lokalisiert. Es ist anscheinend das von mit verwendete CMS (Yellow CMS). Da hatte ich vor einiger Zeit ein Update gemacht und die Fehlfunktion nicht bemerkt.

    Ich habe nämlich jetzt eine einfache HTML-Datei zum Test erstellt und da läuft alles korrekt. Muss jetzt mal schauen, was da genau beim CMS los ist und ggf. mit den Programmierern in Kontakt treten.
  7. OK, dann hast du ja den Fehler bereits.

    Semantik einer PHP Datei bedeutet so viel wie ein korrekter sinngemäßer Aufbau gemäß den Anforderungen der Version im Bezug auf PHP.

    Ich kenne solche Semantikprobleme bereits zwischen mehreren PHP Versionen. Habe bei PHP V2 angefangen, bis zur Version 5 gab es da semantische Neuerungen, die Änderungen ntwendig machten und zur Version 7 war es ähnlich.

    Von daher dachte ich, dass ggf. ein solches Problem vorliegt, was dazu gefhrt hat, dass es nicht geht, allem voran, da du mitgeteilt hast dass es "früher" ging, ohne darauf einzugehen, was früher bedeutet.
  8. Autor dieses Themas

    mein-wunschname

    mein-wunschname hat kostenlosen Webspace.

    Ich bin der Sache noch weiter auf den Grund gegangen. Vorweg muss ich noch erwähnen, dass bei dem CMS die Inhaltsseiten in Markdown erstellt werden. Man kann aber, wie oft in solchen Fällen, auch direkt HTML-Code einfügen. Nun haben aber die Macher des CMS bei einem Versionswechsel eine Whitelist für HTML-Code eingeführt. HTML-Tags, die nicht drin sind werden nicht umgesetzt. Ich habe zum Einfügen meiner Charts embed genutzt und das ist nicht drin.

    Auf meine Nachfrage warum wurde ich darauf verwiesen, dass embed unsicher sei, siehe hier
    https://owasp.org/www-community/xss-filter-evasion-cheatsheet
    Was haltet ihr davon?

    Beitrag zuletzt geändert: 24.6.2020 18:45:33 von mein-wunschname
  9. Naja, was ist schon wirklich sicher?

    Aber mal ernst, haben die dir wenigstens ne adäquate ALternative benannt, mit der du das Thema "embed" umgehen kannst? oftmals gibt es ja wenigstens 2 Möglichkeiten der Darstellung gleicher Dinge, somit sollten die doch als Veröffentlicher in der Lage sein, da Unterstützung zu bieten, was statt embed sicherer ist und auf der Whitelist zu finden
  10. Autor dieses Themas

    mein-wunschname

    mein-wunschname hat kostenlosen Webspace.

    Alternativen:
    Ich nutze ja ein PHP-Framework. Dort gibt es bereits mehrere Möglichkeiten der Einbindung
    https://www.goat1000.com/svggraph-using.php
    Allerdings haben die dort genannten Möglichkeiten mit img und iframe wiederum andere Nachteile und object funktioniert genauso wenig wie embed.
    Ich habe daher zunächst mal die Core-Funktionen des CMS "aufgebohrt". Die endgültige Lösung ist das noch nicht, weil ev. nicht absolut sicher. Nach der endgültigen Lösung suche ich noch.
  11. prinz-und-gloeckner

    prinz-und-gloeckner hat kostenlosen Webspace.

    Bei Elementen wie img oder embed können bei den Brausern absichtlich gewisse Funktionen eingeschränkt sein (etwa Interaktivität, JavaScript), weil die Brauser an den Stellen traditionell Sicherheitslücken haben, welche so improvisiert geschlossen werden.
    embed sollte generell nicht verwendet werden, weil es immer eine bessere Lösung gibt, steht schon so in der ersten Version von HTML5 ;o)

    Von daher solltest du zunächst prüfen, ob das SVG direkt aufgerufen wie gewünscht funktioniert. Wenn nicht, liegt es entweder am SVG oder an den Fähigkeiten des Brausers.
    Hast du letzteres ausgeschlossen, beginnt wohl die aufwendige Fehlersuche im SVG.

    Wenn das SVG solo korrekt funktioniert, hängt es vermutlich am eingeschränkten Funktionsumfang der Brauser für solche Elemente.
    Je nachdem, was du verwendet hast, kannst du eventuell das SVG geeignet ändern, also statt Animation/Interaktion per JavaScript die in SVG vorhandene deklarative Methode verwenden.

    Ansonsten kannst du auch das Element object verwenden, wenn es mit img, embed, iframe Probleme gibt. Zudem kannst du den SVG-Quelltext auf einfach direkt etwa in ein Element figure in das (X)HTML-Dokument ausgeben.
    Wenn es allerdings weder mit object noch mit SVG direkt im (X)HTML funktioniert, kommen wir zu dem Punkt zurück, bei welchem ein Fehler direkt im SVG vorliegt ;o)
  12. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!