Philippé: Anführungszeichen sollen nicht umgewandelt werden

Hallo,

mein PHP Script speichert einen String in eine Datei. Der String enthält HTML-Tags und damit auch Anführungszeichen.
Diese werden beim Speichern aber umgewandelt (in "). Das komische daran ist aber, dass das nur auf dem Webserver, also online passiert. Auf meinem lokalen WAMP läuft das nicht ab. Wie kann ich verhindern, dass Anführungszeichen umgewandelt werden?

Danke im Voraus.

MfG

  1. Moin,

    Hallo,

    mein PHP Script speichert einen String in eine Datei. Der String enthält HTML-Tags und damit auch Anführungszeichen.
    Diese werden beim Speichern aber umgewandelt (in "). Das komische daran ist aber, dass das nur auf dem Webserver, also online passiert. Auf meinem lokalen WAMP läuft das nicht ab. Wie kann ich verhindern, dass Anführungszeichen umgewandelt werden?

    Würdest Du bitte genauer beschreiben was Du machst?
    Mir scheint als ob Du einen größeren Sicherheitsbug in deine Anwendung hineinprogrammierst. Die Tags haben nämlich durchaus Ihren Sinn.
    Damit wäre auch schon gesagt was Du machen mußt nämlich striptags () auf Deine Ausgabe anwenden.
    Bitte Ignoriere den Sicherheitshinweis von mir nicht, und lasse Dir helfen.

    TomIRL

    1. Moin,

      Hi,

      Würdest Du bitte genauer beschreiben was Du machst?
      Mir scheint als ob Du einen größeren Sicherheitsbug in deine Anwendung hineinprogrammierst. Die Tags haben nämlich durchaus Ihren Sinn.

      Ja, ich weiß. Wie gesagt, ich speichere einfach was in eine Datei oder DB. Der Fehler ist mir aber erst jetzt aufgefallen.

      Damit wäre auch schon gesagt was Du machen mußt nämlich striptags () auf Deine Ausgabe anwenden.

      Ja, hätte ich auch selbst drauf kommen können.

      Bitte Ignoriere den Sicherheitshinweis von mir nicht, und lasse Dir helfen.

      Tue ich das denn? ;) Danke.

      1. Moin,

        Moin,
        Hi,

        Würdest Du bitte genauer beschreiben was Du machst?
        Mir scheint als ob Du einen größeren Sicherheitsbug in deine Anwendung hineinprogrammierst. Die Tags haben nämlich durchaus Ihren Sinn.
        Ja, ich weiß. Wie gesagt, ich speichere einfach was in eine Datei oder DB. Der Fehler ist mir aber erst jetzt aufgefallen.

        Damit wäre auch schon gesagt was Du machen mußt nämlich striptags () auf Deine Ausgabe anwenden.
        Ja, hätte ich auch selbst drauf kommen können.

        Bitte Ignoriere den Sicherheitshinweis von mir nicht, und lasse Dir helfen.
        Tue ich das denn? ;) Danke.

        striptags ist übrigens falsch! Bzw.. richtig aber Du brauchst stripslashes ().
        Ja wenn Du Deinen Adminbereich meinst, dann solltest Du dringend Hilfe annehmen, sonst passieren 2 Dinge
        1. das Teil funktioniert nicht
        2. Du hast ein riesen Sicherheitsloch reingebaut.
        Wenn Du dafür Beweise brauchst, dann stelle Deinen Adminbereich nur mal 10 Minuten hier offen zur Verfügung, und dDu hast die nächsten 2 Deine Daten zu reparieren.

        1. striptags ist übrigens falsch! Bzw.. richtig aber Du brauchst stripslashes ().
          Ja wenn Du Deinen Adminbereich meinst, dann solltest Du dringend Hilfe annehmen, sonst passieren 2 Dinge

          1. das Teil funktioniert nicht
          2. Du hast ein riesen Sicherheitsloch reingebaut.
            Wenn Du dafür Beweise brauchst, dann stelle Deinen Adminbereich nur mal 10 Minuten hier offen zur Verfügung, und dDu hast die nächsten 2 Deine Daten zu reparieren.

          Ich merke schon, dass das alles noch nicht ausgereift ist, jetzt kommen mir da gleich noch SQL-Injunctions in den Sinn...
          Wie sieht's denn mit mysql_real_escape_string aus? Sollte ich das immer bei $_POST oder $_GET Variablen Übergabe nutzen? Wie geht man das am Besten an, sollte ich eine Funktion schreibe, bei der jede Variable auf mögliche "Fehler" überprüft wird?

          1. kommen mir da gleich noch SQL-Injunctions in den Sinn...
            Was schreibe ich denn da für einen Blödsinn!? Ich meine natürlich SQL-Injection *grml*

            1. Hello,

              kommen mir da gleich noch SQL-Injunctions in den Sinn...
              Was schreibe ich denn da für einen Blödsinn!? Ich meine natürlich SQL-Injection *grml*

              Egal. Da müssen wir ja nicht kleinlich sein, da Du offenbar schon in die richtige Richtung blickst. ;-)

              Aber Toms Warnung solltest Du wirklich bis ins Letzte berücksichtigen. Von PHP automatisch eingefügte Sicherheitselemente sind zwar nicht super, aber verhindern wenigstens, dass das das ganze Netz unter Spammern und Hijackern zusammenbricht. Wenn Du magic_quotes_gpc ausschaltest, musst Du auf jeden Fall selber nachdenken, was wann mit den Daten passiert. Das betrifft aber nicht nur SQL-Injection sondern ggf. auch SMTP-Injection. Jeder Code, der VOR der Speicherung noch interpretiert wird, ist potentiell gefährlich.

              Harzliche Grüße aus http://www.annerschbarrich.de

              Tom

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              Nur selber lernen macht schlau
  2. Hallo,

    mein PHP Script speichert einen String in eine Datei. Der String enthält HTML-Tags und damit auch Anführungszeichen.
    Diese werden beim Speichern aber umgewandelt (in "). Das komische daran ist aber, dass das nur auf dem Webserver, also online passiert. Auf meinem lokalen WAMP läuft das nicht ab. Wie kann ich verhindern, dass Anführungszeichen umgewandelt werden?

    Danke im Voraus.

    MfG

    Um es zu verhinder mußt du magicquotes ausschalten, mehr dazu unter:
    http://www.php.net/manual/en/security.magicquotes.php

    1. Moin,

      Hallo,

      mein PHP Script speichert einen String in eine Datei. Der String enthält HTML-Tags und damit auch Anführungszeichen.
      Diese werden beim Speichern aber umgewandelt (in "). Das komische daran ist aber, dass das nur auf dem Webserver, also online passiert. Auf meinem lokalen WAMP läuft das nicht ab. Wie kann ich verhindern, dass Anführungszeichen umgewandelt werden?

      Danke im Voraus.

      MfG
      Um es zu verhinder mußt du magicquotes ausschalten, mehr dazu unter:
      http://www.php.net/manual/en/security.magicquotes.php

      Genau das sollte er besser nicht tun..
      Grundsätzlich sollten nur Leute die etwas davon verstehen an irgendwelchen .ini Dateien schrauben. Die stellen aber nicht solche Fragen.
      Magicquotes ist die minimalste Absicherung die ein solcher Server haben kann, damit nicht jeder Dau seinen Buggy Code in die Datenbank schreiben kann.

      TomIRL