Der Martin: UTF-8 festlegen - Autsch

Beitrag lesen

Moin,

Was meinst du, warum Tom ausgerechnet die dafür geeignete Funktion htmlspecialchars() verlinkt hat? Die codiert genau die Zeichen um, für die das in HTML notwendig ist, also '<', '>', '&' und '"', und lässt andere Zeichen in Ruhe.
Ich verwende weder Javascript noch andere Scriptsprachen.

das ist okay, tut aber nichts zur Sache.

Benutzereingaben werden strengstens geprüft.

Sollte auch selbstverständlich sein, hat aber auch nichts mit der Frage zu tun.

Wie soll dann noch Schadcode (bei Nichtcodierung obiger Sonderzeichen) eingeschleust werden?

Wer spricht von Schadcode? Okay, im weitesten Sinn mag der Ausdruck sogar passen. Aber hier geht's um grundlegende Prinzipien: Wenn Daten von einem Kontext (hier: String in PHP) in einen anderen übergehen (hier: HTML), dann müssen die Regeln des Zielkontexts beachtet werden. Und das bedeutet in HTML beispielsweise, dass die oben genannten Zeichen nicht unmaskiert stehen dürfen, wenn sie als normaler Text gelten sollen.

Vielleicht ist dir gar nicht klar, wie trivial solche Problemkandidaten aussehen können: So wird etwa der String "paste&copy" ebenso für Überraschungen sorgen wie "Wir haben festgestellt, dass immer r<1.25 gilt", wenn kein geeignetes Escaping verwendet wird. Dagegen kann mit "übles Ölkännchen" nichts passieren - sofern die Zeichencodierung passt.

Wie gesagt, das ist kein "Sonderfall", den man "eventuell" oder "in komlexen Fällen" beachten muss - das ist Grundlage, das sollte einem so in Fleisch und Blut übergehen, dass man es instinktiv tut.

Ciao,
 Martin

--
F: Was sagt die kleine Kerze zur großen Kerze?
A: Ich gehe heute nacht aus!
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
0 70

UTF-8 festlegen

Steffen
  • php
  1. 0
    T-Rex
    1. 0
      Gunnar Bittersmann
  2. 0
    Der Martin
    1. 0
      Steffen
      1. 0
        Tom
        1. 0

          UTF-8 festlegen - Autsch

          Steffen
          1. 0
            hotti
            1. 0
              Steffen
              1. 0
                ChrisB
                1. 0
                  Steffen
                  1. 0
                    Gunnar Bittersmann
                    1. 0
                      Steffen
                      1. 0
                        Auge
                        1. 0
                          Tom
                          1. 0
                            Auge
                            1. 0

                              Autsch - falscher Vorposter :-)

                              Tom
                              • menschelei
                          2. 0
                            Steffen
                        2. 0
                          Steffen
                          1. 0
                            Auge
                            1. 0
                              dedlfix
                  2. 0

                    UTF-8 festlegen - PHP kann das nicht durchgehend

                    dedlfix
              2. 1
                hotti
              3. 0
                Tom
          2. 0
            Tom
            1. 0
              Steffen
              1. 0
                ChrisB
              2. 0
                Der Martin
                1. 0
                  Gunnar Bittersmann
                2. 0
                  Steffen
                  1. 0
                    ChrisB
                  2. 0
                    Gunnar Bittersmann
                    1. 0
                      dedlfix
                3. 0
                  Steffen
                  1. 0
                    Der Martin
                    1. 0
                      Steffen
                      1. 0
                        dedlfix
                4. 0
                  Tom
                  1. 0
                    Gunnar Bittersmann
              3. 0

                UTF-8 festlegen, Escaping, Request-Parameter, Response-Daten

                Tom
  3. 0
    Tom
    1. 0

      UTF-8 festlegen, Pragma oder einfeas Meta...

      Tom
  4. 0

    Datei als UTF-8 speichern

    Rowland
    1. 0
      Tom
      1. 0
        Matthias Apsel
        1. 0

          Darstellung vom Ersatzzeichen

          Olaf
        2. 0
          Gunnar Bittersmann
      2. 1
        ChrisB
    2. 0
      Gunnar Bittersmann
      1. 0
        Rowland
        1. 0
          Gunnar Bittersmann
          1. 0
            Rowland
            1. 0
              Gunnar Bittersmann
              1. 0
                Rowland
                1. 0
                  Gunnar Bittersmann
                2. 0
                  1UnitedPower
            2. 0
              Tom
              1. 0
                Gunnar Bittersmann
                1. 0
                  Tom
        2. 0
          1UnitedPower
        3. 0
          Matthias Apsel
      2. 0
        WernerK
        1. 0
          Matthias Apsel
        2. 0
          Gunnar Bittersmann
          1. 0
            WernerK
            1. 0
              Der Martin
              1. 0
                WernerK
                1. 0
                  Der Martin
                2. 0
                  Gunnar Bittersmann
                3. 0
                  Tom