Onizuka: Magic Quotes blabla

Abend

Ich habe schon vor einiger Zeit wirklich alles probiert um diese von PHP gesetzten \ vor einem " oder ' oder \ wegzubekommen. Wenn ein Formular einfach gesendet und der Inhalt in eine Datenbank eingetragen wird, gehts ja, aber wenn der Inhalt wieder auf einer HTML Seite ausgegeben wird, kann man einfach nichts machen. Egal ob diese Magic Quotes Sachen nimmt oder nicht, es bringt nichts.

Jetzt wollte ich fragen, ob ihr es für sinnvoll haltet, den Inhalt vor dem Ausgeben zu prüfen und ggf. die " und ' und \ einfach durch die entsprechend richtigen zeichen zu ersetzen. Beinhart. Was meint ihr?

  1. habe d'ehre

    Abend

    Ich habe schon vor einiger Zeit wirklich alles probiert um diese von PHP gesetzten \ vor einem " oder ' oder \ wegzubekommen. Wenn ein Formular einfach gesendet und der Inhalt in eine Datenbank eingetragen wird, gehts ja, aber wenn der Inhalt wieder auf einer HTML Seite ausgegeben wird, kann man einfach nichts machen. Egal ob diese Magic Quotes Sachen nimmt oder nicht, es bringt nichts.

    Du hast bestimmt einen Hinweis auf http://www.php.net/manual/de/function.stripslashes.php bekommen

    --
    carpe diem
    Wilhelm
    1. Sicher hab ich schon alles mögliche durchprobiert.
      Aber: wie soll ich vor dem Absenden eines Formulars mit addslashes() was einfügen?
      Und das anschließende stripslashes() funktioniert auch nur so halb. Manchmal ists ganz ok, aber manchmal sind auch plötzlich alle " oder ' oder \ verschwunden.
      Ich habe bis jetzt auch niemanden gefunden, der mir dazu eine eindeutige, einleuchtende Erklärung geben konnte, wie man sowas wirklich 100%-ig hinbekommt.

      1. habe d'ehre

        Sicher hab ich schon alles mögliche durchprobiert.
        Aber: wie soll ich vor dem Absenden eines Formulars mit addslashes() was einfügen?
        Und das anschließende stripslashes() funktioniert auch nur so halb. Manchmal ists ganz ok, aber manchmal sind auch plötzlich alle " oder ' oder \ verschwunden.

        Wenn Du die Felder mit POST uebergibst, werden die Zeichen " ' \ usw. automatisch mit \ versehen, darum brauchst DU Dich nicht zu kuemmern.
        stripslashes entfernt diese Maskierung aus dem Text wieder.

        Ich hatte noch keinen Fall mit einer fehlerhaften Bearbeitung durch sripslashes.

        --
        carpe diem
        Wilhelm
        1. Moin,

          Wenn Du die Felder mit POST uebergibst, werden die Zeichen " ' \ usw. automatisch mit \ versehen, darum brauchst DU Dich nicht zu kuemmern.

          Nur wenn magic_quotes_gpc aktiviert ist (seit einiger Zeit ist die Voreinstellung bei PHP auf >aus<). phpinfo() gibt Aufschluss darüber. Im übrigen werden auch bei GET- und Cookie-Variablen slashes geaddet.
          Gruß
          Martin