merkwürdiges Phänomen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Original geschrieben von jonas01
    Wenn ich den Wert 'sdksdfklklsdfkjlkmnvn"ydkfkjf"djdjdjdj' in eine DB schreiben will, komme ich wohl nicht um ein addslashes(); drumrum, oder?
    Nein, so dumm gehst du natürlich nicht vor.

    Sondern du nutzt die Escaping-Funktion, die dir die API der DP zur Verfügung stellt. Für MySQL wäre das mysql_real_escape_string.

    Ist übrigens ein Thema, welches hier schon mehrfach und ausführlich diskutiert worden ist.
    Lese ich dann den Wert, muss ich natürlich stripslashes(); nutzen, da sonst das Vergleichen natürlich fehlschlägt.
    Auch vollkommener Blödsinn.

    Die Maskierung ist ausschliesslich dafür da, dass die DB-Schnittstelle das SQL-Kommando richtig verstehen kann.
    In die gespeicherten Daten fliessen die Maskierungen selbstverständlich nicht mit ein (wenn man's denn richtig macht.)
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #17
      Dann mach ich das falsch...

      Nehme ich den von mir erdachten Wert mit den beiden " und schreibe ihn mit addslashes(); in die DB, kann ich in der DB ein \ vor dem " erkennen.

      Lese ich die Daten nun aus und gebe sie mit echo auf den Bildschirm, so ist da ebenfalls ein \ vor dem "

      Nutze ich aber die Funktion stripslashes($wert); so habe ich lediglich das " ohne \

      Kommentar


      • #18
        Original geschrieben von jonas01
        Nehme ich den von mir erdachten Wert mit den beiden " und schreibe ihn mit addslashes(); in die DB, kann ich in der DB ein \ vor dem " erkennen.
        Dann werden die Daten entweder von deiner Datenbankklasse(?) nochmals behandelt, oder sie enthielten vielleicht vorher schon Maskierungen, Stichwort magic_quotes.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #19
          In diesem Fall ist es keine Klasse.

          Es ist ein simples Programm mit zwei 08/15 Datenbankabfragen, dass lediglich User in eine DB einträgt wenn sie sich einloggen und halt wieder austrägt wenn sie ausgeloggt sind.

          Da die Werte die hier eingetragen werden nicht von außen beeinflusst werden können habe ich auf Sicherheitsmechanismen verzichtet.

          Es war mir allerdings nicht bewusst, dass im HTTP_USER_AGENT z.T. auch ein " oder ein ' vorkommt.

          Daher mein Problem mit dem nicht funktionierenden Login.

          Da ich nun aber den Login umgeschrieben habe (ich nutze keinen DB basierenden Login mehr) hat sich, obwohl ich das Problem lokalisieren konnte, das Problem eh erledigt.

          Kommentar

          Lädt...
          X