Visa ett inlägg
Oläst 2005-03-17, 12:43 #12
TomasJ TomasJ är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2005
Inlägg: 4
TomasJ TomasJ är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2005
Inlägg: 4
Man bör använda parametriserade frågor som använder platshållare i sql-satserna istället för att ta emot data direkt från en användare och konkatenera på den på sql-strängen efter att ha försökt substituera bort potentiellt farliga strängar.
Här är ett citat från en chat med Michael Pizzo (Microsoft architect in the WebData team and one of the designers of ADO.NET version 1.0):
Citat:

SqlInjection occurs when an application appends user-input to a query string sent to the server. Rather than concatenate unvalidated strings from the user, you should make it a practice to use parameterized queries. For example; instead of using: "Select * from customers where custid = " & customerIDuse "Select * from customers where custid = @custID"and call cmd.Parameters.AddWithValue("@custID",customerID)
Källa: http://msdn.microsoft.com/chats/tran...io_060104.aspx

Här är ett kodexempel med placeholders för dig som använder klassisk (d.v.s. "icke-.NET") ADO/ASP/COM:
http://msdn.microsoft.com/library/de...vecommandx.asp

/ Tomas
TomasJ är inte uppkopplad   Svara med citatSvara med citat