Sichere Formular eingaben

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

  • Sichere Formular eingaben

    Hallo,
    Ich hatte bei meinen Formularen zum Beispiel nach sowas
    PHP-Code:
    (preg_match("/\"/"$val)) 
    gesucht. Und wenn, dann eine Fehlermeldung angegeben.
    Nun habe ich aber auch ein textarea feld und da kommt es ja schon vor, das jemand etwas in Anführungsstriche schreiben möchte.
    Nun gibt es aber addslashes() und mysql_real_escape_string().
    Was ist der unterschied zwischen den beiden?
    Beide stellen ja ein \ vor '.
    Reicht es, wenn ich addslashes() einsetzte und die input Felder sicher geschütz sind?
    Danke
    Gut geraten ist halb gewußt.

  • #2
    mysql_real_escape_string() ist geeigneter.

    mysql_real_escape_string():
    ... taking into account the current character set of the connection ...
    ... calls MySQL's library function mysql_escape_string, which prepends backslashes to the following characters: NULL, \x00, \n, \r, \, ', " and \x1a.

    addslashes():
    Returns a string with backslashes before characters that need to be quoted in database queries etc. These characters are single quote ('), double quote ("), backslash (\) and NUL (the NULL byte).

    Steht alles im Manual!

    Kommentar


    • #3
      Re: Sichere Formular eingaben

      Original geschrieben von martinm79
      Reicht es, wenn ich addslashes() einsetzte und die input Felder sicher geschütz sind?
      was willst du denn eigentlich machen?

      daten in eine mysql-db eintragen? dann mysql_real_escape_string nutzen.

      oder nur eingegebene daten wieder ausgeben, ohne dass es dir die ausgabe zerhauen kann? dann htmlspecialchars() nutzen.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Ich will die Eingaben in mysql speichern. Hatte zuerst immer gefährliche Eingaben gefiltern und dann eine fehler meldung ausgegeben, aber das kann ich nur beim input feld machen, wo man einen namen eingibt.
        Bei textarea Feldern habe ich jetzt die function
        PHP-Code:
        $_POST in($_POST); 
        eingesetzt.
        PHP-Code:
        function in($input)
        {
            return @
        mysql_escape_string($input);
        }
        function 
        out($raus)
        {
            return @
        stripslashes($raus);

        Könnte man nicht mittels preg_match, bestimmte Wörter wie delete,update und so, die eingabe felder durchsuchen? Oder bringt das nicht?
        Weiß ja nicht wo die größte gefahr ist.
        WÜRDE MICH ABER INTERESSIEREN..
        Zuletzt geändert von martinm79; 10.05.2005, 00:42.
        Gut geraten ist halb gewußt.

        Kommentar


        • #5
          Google -> SQL Code Injection (Beispiele)

          Kommentar

          Lädt...
          X