Sichere Formularübergabe durch Referrer-Check?

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

  • Sichere Formularübergabe durch Referrer-Check?

    Hi Leute!

    Ich habe eine Function geschrieben, die autom. die $_POST Daten übernimmt, auswertet und in die DB einträgt.

    Also (abgespeckte version :P):
    Code:
    # Form
    bla1: <input name="bla1">
    bal2: <input name="bla2">
    PHP-Code:
    # Function
    foreach ($_POST as $name => $value) {
         
    $qry .= $name." = '".$value."'";

    Er trägt also jedes Feld ein. Die richtige function ist natürlich noch mit x Optionen usw..

    Jedenfalls möchte ich jetzt das Script nur ausführen, wenn das Formular von meiner Seite ausgeführt wird, damit sich nicht irgendjemand ein Formular lokal bastelt und anfängt zu spammen.

    Natürlich ist eine IP-Sperre eingebaut, aber sicher ist sicher.

    Jemand ne Idee?

    Gruß
    carapau
    Lasst euch nicht lumpen, hoch den Humpen!

  • #2
    Referrer-Check kannst du vergessen, das kann viel zu leicht manipuliert werden.

    Mach dir lieber Gedanken darüber, was für Werte in was für Felder dürfen (SQL - Injection, das da ist ein Scheunentor!), von wem und wie oft. Dann kann es dir am Schluss egal sein, ob der Kram von deiner Seite kommt, oder jemand sich die Mühe macht und das Formular fälscht.
    ich glaube

    Kommentar


    • #3
      Und was ist die Frage? Falls es diejenige ist, die ich vermute, steht die Antwort ja im Titel.
      Gruss
      H2O

      Kommentar


      • #4
        naja, wie soll man da injection machen können?
        wer da iregendwelche felder reinschreibt, die es nicht gibt, gibts nen error...

        PHP-Code:
        function bla($tbl$src$fieldsToSkip$fieldsToAdd$ext) {

        $qry "INSERT INTO ".$tbl." SET ";

        // hier kommt der kram wo aus $src ($_POST) die felder geholt werden
        // $fieldsToSkip werden übersprungen
        // $fieldsToAdd werden hinzugefügt

        $qry .= $field." = ".$value.", ";

        // Komma am Ende abhacken
        $qry  substr($qry0strlen($qry)-2);

        // $ext ist optional und kann sowas wie WHERE enthalten (bei insert ja nicht so wichtig ;) 
        $qry .= $ext;


        return 
        $qry;

        Lasst euch nicht lumpen, hoch den Humpen!

        Kommentar


        • #5
          Original geschrieben von H2O
          Und was ist die Frage? Falls es diejenige ist, die ich vermute, steht die Antwort ja im Titel.
          anscheinend ist referer check nicht sicher..
          Lasst euch nicht lumpen, hoch den Humpen!

          Kommentar


          • #6
            Original geschrieben von carapau
            anscheinend ist referer check nicht sicher..
            Ein IP Check ist auch meist unsinnig, da fliegen zuviele raus..

            Die nächsten Sicherheitsstufen wären:
            SID per Cookie only
            In jedem formular eine Challenge
            fleißiger Einsatz von session_regenrate_id()
            SSL

            SSL sollte eigendlich ganz nach oben, wenn die Preise für die Zertifikate nicht wären...
            Wir werden alle sterben

            Kommentar


            • #7
              Och komm Kinder. Threads zum Thema Spamschutz haben wir hier echt genügend.

              Und wer auf den Hinweis zu SQL-Injetions mit sowas antwortet
              naja, wie soll man da injection machen können?
              wer da iregendwelche felder reinschreibt, die es nicht gibt, gibts nen error...
              , der möchte sich auch noch die bereits vorhandenen Threads zu diesem Thema reinziehen...

              BTW: SSL schützt vor Spam?

              Kommentar


              • #8
                BTW: SSL schützt vor Spam?
                Nicht direkt....
                Aber es erhöht den Schutz gegen abhören und feindliche Sessionübernahmen.
                Wir werden alle sterben

                Kommentar


                • #9
                  ssl wirkt indirekt gegen spam.
                  in kombination mit einem ip-check wird da einiges rausfallen.
                  Proxys gibt es tausende. Aber welche die SLL beherschen gibt es nicht wirklich viele

                  Kann natrlich auch sein, das ich mal wieder volle kanne daneben liege

                  Kommentar

                  Lädt...
                  X