> 1. SQL-Injektion
> D�rfte ja allseits bekannt sein. Die Frage ist nach 
> M�glichkeiten dies auszuschlie�en, sowohl in bestehenden 
> Projekten als auch neuen Projekten.
> In bestehenden Projekten w�re IMO eine einfache und sichere 
> M�glichkeit alle Variablen welche zu einem SQL-String 
> zusammen gebaut werden vorher durch eine Klasse zu jagen, 
> welche auf gef�hrliche W�rter (INSERT, DELETE, UPDATE...) 
> �berpr�ft und dann gegebenenfalls eine Meldung auswirft und abbricht.

Einfach und falsch und zus�tzlich nie vollst�ndig, weil immer neue befehle
dazu kommen k�nnen mit neuen versionen...
Die einfachste M�glichkeit ist hier immer �ber parametrisierte Abfragen zu
arbeiten, auch f�r dynamisch zusammengesetzten SQL.
Wenn man trotzdem darauf besteht sich das SQL komplett in einem String
zusammenzuschreiben(kann schon sinn machen, wenn man das sql irgendwo
speichern will, statt es sofort auszuf�hren) und dann so auszuf�hren, dann
sollte man je nach datentyp einfach testen, ob es dem erwarteten datentyp
entspricht: isNumeric, isDate. Bi Strings sollte man zus�tzlich ' durch ''
ersetzen und schon sollte alles sicher sein.
Je nach DB kann es noch n�tig sein z.B. ascii-wert 0 durch \0 zu ersetzen
(mySQL)


Claudius

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

Antwort per Email an