AllesMeins: magic_quotes oder Warum nervt das so?

Hi,

ich bin gerade mit einem Projekt auf einem Server eingezogen. Nun musste ich leider feststellen, das dort fleißig sämtliche Anführungszeichen, die irgendwo von Benutzereingaben stammen escaped sind. Die Daten kommen üblicherweise per Formularfeld, werden dann mit mysql_real_escape_string() bearbeitet in eine mySQl Datenbank gespeichert.
Die Ausgabe erfogt dann mach einem htmlentities().
Alles in allem eigentlich nichts so unübliches, das ich sonst nicht auch verwendet hätte. Nur hatte ich noch nie dieses Problem mit den \ vor den Anführungszeichen. Ich vermute mal ganz stark, das mir da irgendwo die magic_quotes einen Strich durch die Rechnung machen.

Folgende Frage: Fällt euch irgendwas auf, wo dieses Problem entstehen könnte bzw. warum ich es auf anderen Systemen nicht habe?
Was kann ich dagegen machen ohne überall alles durch ein strip_slashes() jagen zu müssen?
Hat es irgendwelche gravierenden Nachteile, wenn ich die magic_quotes einfach ganz ausschalte?

Grüße

Marc

  1. hi,

    Fällt euch irgendwas auf, wo dieses Problem entstehen könnte bzw. warum ich es auf anderen Systemen nicht habe?

    Du hast es doch selbst schon genannt: magic_quotes_gpc.
    Hast du diese Einstellung überprüft, bevor du gefragt hast?

    Was kann ich dagegen machen ohne überall alles durch ein strip_slashes() jagen zu müssen?

    Schalte es ab.

    Hat es irgendwelche gravierenden Nachteile, wenn ich die magic_quotes einfach ganz ausschalte?

    Wenn du ansonsten vernünftig mit von aussen kommenden Daten umgehst: Nein.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Wenn du ansonsten vernünftig mit von aussen kommenden Daten umgehst: Nein.

      n00b 2 n00b - JA , ich müsste kürzlich slashes von Hand reinpressen..sobald du html-code (zB) in DB fütterst , wirst du es brauchen.JEtzt muss ich alles durch stripslashes UND addslashes jagen.
      (mein host hat die magicquotes off :(

      MFG
      bleicher

      --
      __________________________-
      Menschen an sich , sind nicht schlecht - es sind nur ihre Taten (c).
      1. hi,

        Wenn du ansonsten vernünftig mit von aussen kommenden Daten umgehst: Nein.

        n00b 2 n00b - JA , ich müsste kürzlich slashes von Hand reinpressen..

        Wieso das?

        sobald du html-code (zB) in DB fütterst , wirst du es brauchen.

        Was magic_quotes_gpc? Nein. Niemals.

        JEtzt muss ich alles durch stripslashes UND addslashes jagen.

        Warum machst du so einen Blödsinn?

        Auch die API deines DBMS stellt sicherlich eine dafür geeignete und gedachte Funktion zur Verfügung.
        Für MySQL in Verbindung mit PHP wäre dies z.B. mysql_real_escape_string(), wie hier schon hunderte Male erwähnt.

        (mein host hat die magicquotes off :(

        Guter Hoster.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
    2. Hi,

      Du hast es doch selbst schon genannt: magic_quotes_gpc.
      Hast du diese Einstellung überprüft, bevor du gefragt hast?

      Ja, bei sätmlichen Hostern auf an

      Marc