SQL-Injection und Formularmanipulation in Eingabeformularen auf einmal verhindern

Hallo zusammen,

bei vielen Eingabefeldern finde ich es nervig und zeitaufwendig jedes Feld gesondert abzusichern.

Gibt es eine Möglichkeit alle Felder auf einmal abzusichern oder die Eingaben alle auf Gefahren zu prüfen?

Gruß

Hallo ,

Gibt es eine Möglichkeit alle Felder auf einmal abzusichern
oder die Eingaben alle auf Gefahren zu prüfen?

Ja
und
Ja

sql injection generell mal
http://www.php.net/manual/de/book.pdo.php
benutzen .

Formular Eingaben überprüfen kann auf verschiedene weise gemacht werden.
Z.b. via regexpression oder mit vorgegegebenen werten .

Wenn in einer Datenbank eine Spalte mit einem Wert aus einem formular gefüllt werden soll , ist es wichtig genau den Datentyp zu haben und bei Auswahlfeldern zum nur die Vorgabewerte und keine anderen . Datum etc , ach es gibt so vieles worauf man prüfen kann. Automatisieren lässt sich das nicht wirklich . Aber mal eben ein Feld auf eine bestimmte sache prüfen ist auch nur eine Funktion und dann baut man sich halt die paar funktionen und schon hat man das gewünschte ziel , mit einem Flag setzen wenn etwas nciht erfüllt ist und schon weisste das Formular wurde gecheated :smile:

Ein Anfang mit dieser Funktion
Hallo und danke für die Antwort,

so könnte man vielleicht Anfangen.

function check($\_POST)
{
 foreach($\_POST as $key =\> $value)
 {
 if($key=="beitrag")....
 }
}


check($\_POST);

So könnte man jedes Formularfeld nach Namen und den Inhalt auf Korrektheit prüfen.

Danke!

ne eher so

$myvalues = array(
„stadt“=>array(„Aalen“,„Bremen“,„Charlottenburg“,„Dortmund“),
„farbe“=>array(„rot“,„grün“,„blau“)
);

$formok = checkauswahlfelder($_POST,$myvalues) ; // prüft felder : stadt , farbe

function checkauswahlfelder($input,$checkvalues) {
$ok = false;
foreach ($checkvalues as $field => $values) {
foreach ( $values as $avalue) {
if ($input[$field] == $avalue) { $ok = true;}
}
}
return $ok;
}

Danke für die Rückmeldun!

Ich glaube du verfolgst einen anderen Ansatz. Bei dir sind es Auswahlfelder, die geprüft werden.

Bei mir sind es normale Eingabefelder.

Nach

if($key=="beitrag")....

käme dann die eigentliche Prüfung. Bis hier ging es nur darum, das Feld mit dem Namen Beitrag zu finden.

Gruß