hi,
Das prüfe ich in vorrausgehenden Dokumenten. Wenn man nicht an den GET-Variablen in der Adresszeile rumfummelt - was man an zu keiner Zeit machen kann / soll - passiert nix.
autsch :-)
"wenn die bank nicht überfallen wird, dann ist ihr geld dort normalerweise sicher."
es geht weniger darum, das der besucher "versehentlich" parameter manipulieren könnte und dann falsche ergebnisse bekommt, sondern es geht um die möglichkeit absichtlicher manipluation, um das verhalten deines scriptes zu verändern, möglicherweise sogar sicherheitsrelevant.
SQL code injection wäre ein stichwort zum suchen.
nimm z.b. mal an, du hast einen login mit username/passwort.
also prüfst du in deiner query ab,
"... WHERE username='$username' AND passwort='$passwort'"
der user kommt nur rein, wenn ein datensatz gefunden wird, bei dem username und passwort "passen".
so, was wäre jetzt aber mit der query
"... WHERE username='$username' AND passwort='blah' OR 1"?
ich kenne deinen usernamen, und passwort='blah' OR 1 wäre immer true - schon bin ich als du eingeloggt, ohne überhaupt dein passwort zu kennen.
wie erzeuge ich diesen query string? in dem ich als wert für $passwort "blah' OR 1" übergebe.
aus deinem "... AND passwort='$passwort'" wird dann nämlich
"... AND passwort='blah' OR 1'"
ok, passt jetzt mit dem schliessenden ' von der syntax her noch nicht so ganz, aber dann mache ich hinter die 1 zur not noch ein kommentarzeichen, dann ist das eine gültige query ...
deshalb gilt: vom user übermittelte daten _niemals_ ungeprüft/ungesichert in eine query übernehmen!
gruss,
wahsaga