• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Null oder nichts

Mark

Neues Mitglied
Bekanntermassen kann man sich ja bei Usereingaben auf überhaupt nichts verlassen, streng genommen könnte ein Pfuscher soagr sein eigenes Formular an mein Script senden, so dass nicht mal ein isset() viel aussagt.
Also muss ich die Usereingaben auf Herz und Nieren prüfen.

Code:
<select name="irgendwas">
<option value="0"></option>
<option value="-1">Keine Angabe</option>
<option value="-2">Nicht zutreffend</option>
<option value="1">Auswahl 1</option>
<option value="2">Auswahl 2</option>
<option value="3">Auswahl 3</option>
<option value="4">Auswahl 4</option>
<option value="5">Auswahl 5</option>
... usw.
</select>

Das Feld hat keine Vorgabe, der User muss aber etwas auswählen, sonst Error.
Zusätzlich will ich für jede mögliche Falscheingabe verschiedene Fehlermeldungen ausgeben.

Z.B.
!isset = Zugriff verweigert
0 = Auswahl fehlt
< -2 = Ungültiger Wert
> 0 = Datenbankabfrage auf gültigen Wert, wenn nicht -> Ungültiger Wert
Alles was nicht Zahl ist = Ungültige Daten

Wie überprüfe ich wasserdicht, ob und was der User eingegeben hat?
 
Das mache ich im Moment schon, ich hab nur einen Anflug von Perfektionismus und bin mir nicht sicher, ob ich da nicht trotzdem noch ein Loch in der Sicherheit habe.
 
PHP kann aus solchen Werten auch automatisch Arrays machen. Das müsstest du auch immer noch prüfen. Kannst den entsprechenden Code ja mal zeigen.

Edit: ↓ Dafür besser erklärt.
 
Zuletzt bearbeitet:
Das ist schonmal nicht schlecht. Versuche aber bei jedem Formular, das du auswertest, zu überprüfen, ob die $_GET['etwas'] nicht ein Array ist.

Normal kann so sein:
index.php?etwas=test

Ein böser Benutzer könnte sowas machen:
index.php?etwas[a]=test&etwas=testt

Edit: zu spät :(
 
Zurück
Oben