Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: 500er Server Error | This page is temporarily not available | MS-Word Code

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.022
    • Geschlecht:
    Hallo Community.
    Kurz vor Jahreswechsel noch ein Tipp zu einem Problem welches erst ab Shopversion 2.0 auftritt:
    Achtet unbedingt darauf keine Texte ungesäubert aus MS-Word (oder auch OpenOffice-Writer) in Shop-Editoren zu kopieren.

    Vorab möchte ich dazu etwas erklären:
    Immer wieder sieht man Shopinstallationen wo Produkt-, Kategorie- oder Content-Texte MS-Word-Code enthalten.
    Dieser entsteht wenn man in MS-Word Texte generiert und diese bei Textbearbeitungen ohne ein Säubern in den Editor des Shop kopiert.
    (Nebenbei gesagt gibt es für die Säuberung einen Button im Editor (der mit dem kleinen blauen "W").)
    Der unerwünschte Code beginnt meist in der folgenden Art:
    Code: XML  [Auswählen]
    <!-- [if gte mso 9]><xml>

    Bislang, also in Shopversionen vor 2.0, gab es damit keine Darstellungsprobleme und schon gar keine Server-Errors. Zwar entstand ein greuliches HTML (in der Seitenquelltext-Ansicht gut sichtbar) was sicherlich auch bei Suchmaschinen zu einem schlechten Ranking geführt hat, aber es gab, wie gesagt, keine Probleme bei der Seitenausgabe.

    Ab Shopversion 2.0 ist das nicht mehr der Fall.
    Es gibt 500er Server Errrors und in einigen Fällen habe ich auch eine weiße Seite mit lediglich einer Meldung der folgenden Art gesehen:
    "This page is temporarily not available"
    (mit deutschen Browsereinstellungen auch zweisprachig, deutsch und englisch).

    Nachdem ich mit dem Problem in letzter Zeit mehrfach konfrontiert wurde, habe ich folgendes festgestellt:
    Anfangs vermutete ich ein Problem ab einer bestimmten PHP-Version.
    Nach diversen Tests konnte ich das ausschließen.
    Meine Vermutung geht inzwischen in Richtung Smarty-Engine. Das heißt, ab Smarty3 kommt es erst zu dem beschriebenen Problem. Ob Smarty wirklich verantwortlich ist konnte ich jedoch nicht hundert-prozentig fest machen.

    Mittels eines PHP-Core-Dumps auf dem Server eines betroffenen Shops bekam ich Hinweise auf MS-Word-Code.
    Weiterhin bekam ich Hinweise darauf, daß das Problem durch die PCRE-Library hervorgerufen wird welche für das Interpretieren von sog. Regular Expressions verantwortlich ist.
    Selbst ein von mir erstelltes Skript welches mit MS-Word-Code betroffene DB-Felder in ein Array schrieb um sie weiter zu verarbeiten "stürzte ab" indem auch ein 500er Error oder die oben zitierte Meldung im Browser erschien.
    Warum in der Ausgabe vorhandener MS-Word-Code durch PCRE läuft ist mir bislang nicht klar.

    Ohne bis jetzt die genauen Gründe zu kennen:
    Wenn jemand mit Shops ab Version 2.0 Probleme wie die oben beschriebenen hat, liegt es mit hoher Wahrscheinlichkeit an in Texten verborgenem MS-Word-Code.
    Mein Aufruf also an alle Shop-Betreiber nochmals:
    Achtet unbedingt darauf keine Texte ungesäubert aus MS-Word (oder auch OpenOffice-Writer) in Shop-Editoren zu kopieren.


    Da ohne das oben ausgeführte Wissen die Suche nach dem Fehler sehr aufwändig werden kann, noch ein kurzes Beispiel:
    Das erste Mal bin ich auf das Problem gestossen als in einem von mir bearbeiteten Shop die checkout_payment-Seite den Fehler ausgab.
    In der Seitenquelltext-Ansicht sah ich, daß der ausgegebene Code an irgendeiner Stelle einfach abbrach.
    Schrittweises Auskommentieren von Code in der /checkout_payment.php führte mich zu der Stelle an welcher der Content der AGB augegeben wurde. Erst dadurch stieß ich, nach Sichtung des Quellcodes der AGB, auf den MS-Word-Code.

    Ich hoffe den vorliegenden Post mit genügen Schlag- und Suchworten bestückt zu haben, daß der Post über Suchmaschinen von Betroffenen gefunden wird und somit eine Lösung des Problems zur Verfügung steht.

    Nochmals einen "guten Rutsch" ins neue Jahr für alle,

    Gruß,
    noRiddle

    Linkback: https://www.modified-shop.org/forum/index.php?topic=36296.0

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.022
    • Geschlecht:
    Ich hole das mal hoch weil die Problematik mir immer öfter unterkommt.

    Gruß,
    noRiddle

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Könnte man nicht das Speichern der Texte über einen Inputfilter jagen? Also die Bereinigung von Word Code automatisch machen?

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.022
    • Geschlecht:
    Wahrscheinlich wäre das möglich, schließlich gibt es ja auch den kleinen Button mit dem blauen "W" bei welchem bei Betätigung ein Fenster aufpoppt in welches man "verseuchten" Code hineinkopieren kann und er wird gereinigt.
    Den Filter gibt's also schon im Editor.
    Inwieweit man das automatisieren könnte habe ich mir noch nicht angeschaut.

    Da es sich mit dem MS-Word-Code (oder auch OpenOffice-Writer-Code) um ein immer wieder zu sehendes Problem handelt, wäre evtl. eine Warnmeldung über jedem Editor auch ganz sinnvoll. Das könnte man ja bei Generierung eines Editors im Backend automatisch mit ausgeben.

    Ich habe mom. nicht die Zeit mich da reinzudenken, wenn jemand anders die Zeit und Lust hätte....

    Gruß,
    noRiddle
    12 Antworten
    4425 Aufrufe
    03. Januar 2017, 21:16:54 von hpzeller
    3 Antworten
    1646 Aufrufe
    23. Mai 2019, 20:21:48 von web-looks