mysql_escape_string?

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

  • mysql_escape_string?

    Wenn ich ein Passwort, welches zufällig Zeichen enthält, die escaped werden, krieg ich beim select das richtige Passwort wieder, oder bleiben Dinge escaped, die nicht escaped bleiben solten?

    Und was ist das Gegenmittel? strishslashes?
    SQL Injection kitteh is...

  • #2
    gegenfrage: ist das eigentlich so schwer, solche kleinigkeiten mal selber auszuprobieren?
    Kissolino.com

    Kommentar


    • #3
      Entschuldige, sitze hier an einem öffentlichen PC und stelle mir diese Fragen gerade, hab aber leider keine Möglichkeit das hier zu testen
      SQL Injection kitteh is...

      Kommentar


      • #4
        Re: mysql_escape_string?

        Original geschrieben von Seikilos
        oder bleiben Dinge escaped, die nicht escaped bleiben solten?
        Es wurde hier schon mehrmals erklärt, dass diese Maskierung nur für die Datenbankschnittstelle erforderlich ist, und daher auch nur diese betrifft.
        Und was ist das Gegenmittel?
        OffTopic:
        Das Gegenmittel gegen solche Fragen nennt sich "logisches Nachdenken", mit einer Prise "Ahnung von den Techniken, die ich verwende".

        Da diese Mittel allerdings im Hirn wirken, wäre da in manchen Fällen hier sicher erst mal der Zukauf eines solchen erforderlich.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Vielen Dank, aber wenn es doch die Schnittstelle betrifft und diese beim rausholen der Daten ja gleich ist, hätte ich gedacht, dass die in beide richtungen escaped bleiben.
          SQL Injection kitteh is...

          Kommentar


          • #6
            Original geschrieben von Seikilos
            Vielen Dank, aber wenn es doch die Schnittstelle betrifft und diese beim rausholen der Daten ja gleich ist, hätte ich gedacht, dass die in beide richtungen escaped bleiben.
            Wenn du den Text huch, 'ein wert in hochkommata', na sowas einfügen willst, dann kommt da beim Einsetzen in eine Query sowas wie
            Code:
            UDATE tabelle SET feld = 'huch, 'ein wert in hochkommata', na sowas' WHERE ...
            heraus - ist natürlich Unfug.

            Also musst du da entsprechend Maskieren/Escapen, sonst versteht dich die DB da nicht, weil die Syntax einfach nicht mehr korrekt ist.

            Aber wieso sollte das denn die Rückgabe der Daten an dein PHP-Script betreffen ...?
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Ich habe vermutet, dass dann alle Ergebnisse, die so reingepackt wurden:

              "Text ' Text";

              Bei der Ausgabe als "Text \' Text" rauskommen
              SQL Injection kitteh is...

              Kommentar


              • #8
                wenn Du etwas escapst mit einer dieser Funktionen und an das dazugehörende URL/HTML/JAVASCRIPT/MYSQL/PHP/JAVASCRIPT übergibst, kommt es ohne die escapezeichen zurück. Gilt für urlencode, htmlspecialchars, addslashes, mysql_real_escape, addcslashes, escape(javascript) .

                übrigens gilt dasselbe auch für PHP. Wenn man "\n\t" schreibt, gibt es zwei Buchstaben, nicht vier. Nur braucht es dafür erst in eval-Fällen addcslashes, normalerweise nicht.

                Ich habe noch die Reihenfolge angepasst oben.

                URL muss man manchmal (mit Umsicht wegen & = ? . und dergleichen) doppelt encoden, dh htmlspecialchars(urlencode(...)) .
                Zuletzt geändert von muh (newbie); 22.05.2006, 21:40.

                Kommentar

                Lädt...
                X