Marcel: Kompination wird ignoriert

Hallo zusammen,

ich habe eine Web-Applikation mit PHP programmiert, mit einer MySQL anbindung. Die User rufen über ein Web Interface so ihre offenen Jobs auf. Die Einträge können sie selber editieren (z.B. das Protokoll zu einem Job ausfüllen).
Nun habe ich folgendes Problem. Wenn Hans muster sein Protokoll schreibt und folgende Kombination schreibt: --> wird anschliessend kein Inhalt mehr sichtbar ausgegeben (sprich er wird schon ausgegeben, aber nur als quelltext). Nach mehrern Test habe ich rausgefunden, dass er -> akzeptiert, aber alles mit mehreren bindenstrichen wird anschliessend falsch ausgegeben, sprich --> ---> ----->
Hat jemand eine idee wiso

danke

  1. hi,

    Wenn Hans muster sein Protokoll schreibt und folgende Kombination schreibt: --> wird anschliessend kein Inhalt mehr sichtbar ausgegeben (sprich er wird schon ausgegeben, aber nur als quelltext). Nach mehrern Test habe ich rausgefunden, dass er -> akzeptiert, aber alles mit mehreren bindenstrichen wird anschliessend falsch ausgegeben, sprich --> ---> ----->
    Hat jemand eine idee wiso

    weil leute, die sich noch nicht mal mit HTML auskennen, eigentlich keine PHP-applicationen programmieren sollten.

    da kannst du ja noch froh sein, dass Hans Muster nicht <script ...> eingegeben hat.

    du liest jetzt bitte erst mal schleunigst http://de.selfhtml.org/html/allgemein/kommentare.htm, und anschließend http://de.selfhtml.org/html/allgemein/zeichen.htm#html_eigene - und dann überlegst du dir mal (bzw. schaust im manual nach), wie man die nötige maskierung von PHP automatisch erledigen lassen kann.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. danke :-)

      --> ist logisch das ende eines kommentars, aber wie kann ich machen, dass dies eben nicht als tag sondern als normaler text interpretiert wird?

      gruss

      1. Hallo marcel,

        --> ist logisch das ende eines kommentars, aber wie kann ich machen, dass dies eben nicht als tag sondern als normaler text interpretiert wird?

        Indem du dir die PHP Dokumentation zur Gemüte führst. Unter den String-Funktionen gibt es dort dann direkt eine Funktion namens htmlentities().
        Nächstes mal aber bitte selbst suchen!

        P.S.: Markierst du denn deine Daten vor einem MySQL-Query mit mysql_real_escape_string()? Wenn nicht hast du da ein riesiges Sicherheitsloch offen.

        Grüße

        Marc Reichelt || http://www.marcreichelt.de/

        --
        Linux is like a wigwam - no windows, no gates and an Apache inside!
        Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
        http://emmanuel.dammerer.at/selfcode.html
      2. Hi!

        --> ist logisch das ende eines kommentars, aber wie kann ich machen, dass dies eben nicht als tag sondern als normaler text interpretiert wird?

        Du solltest dich mit den Grundlagen auseinandersetzen, wie du vom Benutzer eingegebene Daten am sinnvollsten behandelst. Ein Schritt in die richtige Richtung ist htmlentities() und für das Eintragen in die Datenbank mysql_real_escape_string(). In welcher Reihenfolge du diese anwenden musst, habe ich bereits des öfteren im Archiv erläutert.

        Grüße,
        Fabian St.