Panelen



Forumnavigering
Senast inloggade
RSS
Sponsorer

Forum > ASP.NET 1.x och 2.x > Språk - VB.NET

Skydd mot SQL injektioner.

Tjenare, har börjat med asp.net Vb och jag undrar hur man skyddar sig mot sql injektioner?

Its not about how hard you can hit, its how hard you can get hit, and still go on.
ID: #8119 | Skapades: 2008-05-13 14:35:53 | Tråden har 8 svar och har lästs 531 gånger.

voigtan
voigtan

Gradering

#8121

.NET har i deras connection handler parameters du kan använda dig av och typar dom:

http://msdn.microsoft.com/en-us/lib...y/yy6y35y8.aspx

Du kan även använda dig av string.Format om du vill göra en sql sträng:

String.Format("SELECT * FROM tblSomething where Value= '{0}'","värde")
Dock var det något år sedan jag höll på med .NET men det jag minns så gillade jag parameters i connection.

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #8121 | Skapades: 2008-05-13 15:07:51

Okej, hur använder jag string.format då?
Finns det inget liknande som te.x mysql_real_escape_string i php?

 

Its not about how hard you can hit, its how hard you can get hit, and still go on.
ID: #8122 | Skapades: 2008-05-13 15:24:54

voigtan
voigtan

Gradering

#8123

parameters är det "säkraste" av de två förslag jag har skrivit. parameters säger du "detta är en sträng" och då kommer den kollar SQL-injection osv till dig per automatik.

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #8123 | Skapades: 2008-05-13 16:05:50

Förstår inte ett dugg.
Jag frågade hur man använder string.format, men fick ett svar som handlade om parameters.

Its not about how hard you can hit, its how hard you can get hit, and still go on.
ID: #8124 | Skapades: 2008-05-13 17:43:32

Shadi
Shadi

Gradering

#8125

Här kan du hitta mer information om string.format.
Du kan också läsa mer om strängar i vb.net här, här inkluderas också string.format.

Men om du frågar mig så är det bättre att använda dig av parameters, precis som voigtan föreslog tidigare. Här kan du läsa mer om hur du använder dig av parameterar.

Administratör på AspKoll.se!
ID: #8125 | Skapades: 2008-05-13 18:19:45

Okej, men tycker det verkade krångligt.

Its not about how hard you can hit, its how hard you can get hit, and still go on.
ID: #8126 | Skapades: 2008-05-13 18:26:55

voigtan
voigtan

Gradering

#8127

Citerar Petters_Web:

Okej, men tycker det verkade krångligt.

Hur menar du då? Du använder dig av parameters i dina SQL idag redan. Du kan inte få det säkrare mot SQL injection än med parameters.

Din grund fråga var hur du säkrar mot SQL-Injection, string.format är ett alternativ men du behöver fortfarande säkra dina in parameter vilket du slipper med parameters.

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #8127 | Skapades: 2008-05-13 19:42:17

kneten
kneten

Gradering

#8177

Det absolut bästa anser jag är att ha ett flerskiktslager där du separerar presentationslagret, kodlagret och databaslagret ifrån varandra och använder stored procedures för att utföra databasexekveringen så slipper även syntaxen analyseras varje gång också.

Bygg egna klasser där du typbestämmer datatypen på dina parametrar tillsammans med SP så borde du vara homefree mot Injections!

Bra artikel om 3-skikts lager hittar du här

http://asp.net/learn/data-access/

 

www.phiber.se
ID: #8177 | Skapades: 2008-05-15 14:37:07
© Copyright 2007-2009 Shadi Domat | Version 3.0 | Sidkarta | Policy