> Also mal meine Erkenntnis dazu. Und bitte tritt mir ruhig in 
> den Hintern wenn ichs immer noch nicht kapiert habe *g*
> 
> Beim String zusammen bauen wird die Injektion einfach mit 
> ausgef�hrt. Sprich wenn nicht vorher die Eingaben �berpr�ft 
> werden (h�ndisch), dann bin ich offen wie ein Scheunentor.

Jepp..

> 
> Bei der �bergabe per Parameter muss ich ja den �bergabetyp 
> angeben. Schon bei der Zuweisung an die "cmd.createParameter" 
> kracht es, wenn der �bergebene Wert nicht dem Typ entspricht 
> und es kommt gar nicht zu einer Ausf�hrung des "SQL" bzw. der "SP".

Nicht ganz... Es werden glaub ich auch falsche parametertypen angenommen und
versucht das umzuwandeln...
Der Unterschied ist, dass bei Parameter-�bergabe ADO weiss, dass dieser Wert
als Parameter zu behandeln ist und auf keinen Fall als SQL. Somit kann es
nie zur Ausf�hrung von injectedSQL kommen - unabh�ngig vom Typ.
Wenn Diese Umwandlung der Typen nicht funzt, kann es noch zu Fehlern kommen,
aber auf keinen Fall wird falsches SQL ausgef�hrt.


> Nun gehts aber ja noch weiter. Wird ein "falscher" bzw. 
> "gef�hrlicher" Code �bergeben, zerlegt es mir ja die Seite 
> mit der Fehlermeldung "Application uses a value of the wrong 
> type for the current operation."
> 
> Jetzt die Frage nach Ideen das abzufangen und f�r den User 
> verst�ndlich auszugeben. Wie macht Ihr das? Was fangt Ihr ab?

Typen w�rde ich auf jeden Fall vorher testen... Muss ja sich nicht ADO erst
beschweren.

Also Text muss nur auf L�nge �berpr�ft werden, ansonsten ist alles erlaubt,
wenn man Commands benutzt.

Zahlen �berpr�ft man mit isNumeric.

Wenn irgendwas ne besondere Form haben muss, wie z.B. ne mail oder eine
Guid, kann man regular expressions nehmen.


Claudius

_______________________________________________
Coffeehouse Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/coffeehouse

Antwort per Email an