Inkludera stryrande tecken i MySQL?!

Här diskuteras programmering och utveckling
Användarvisningsbild
rancor
Inlägg: 1649
Blev medlem: 18 maj 2006, 23:33
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Inkludera stryrande tecken i MySQL?!

Inlägg av rancor »

Hej.

Jag sitter och skall förhindra SQL injections vilket är förhållandevis enkelt. Jag tillåter endast t.ex. stora, små, space och siffror.

Men jag vill t.ex. att info-fält skall få innehålla '%|"&@-tecken.

Jag lekte att base64-koda allt innan jag skickade över datat till sql-servern där jag dekoda skiten och det blev inte lyckat.

Hur överför ni tecken som normalt sätt MySQL skulle tolka som kommande, avslut av kommando och liknande och sparar dem som värden i databasen?

Blir inte klok på detta
Användarvisningsbild
rancor
Inlägg: 1649
Blev medlem: 18 maj 2006, 23:33
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

SV: Inkludera stryrande tecken i MySQL?!

Inlägg av rancor »

och varför lyckas SMF skjuta in mitt meddelande :'(  jag angav både ' som avslut av strängen och | som kommando-avslutning.

Jag tror ju även här så kodas texten om och sparas på annat sätt.. fast jag kan inte php så det känns enklare att fråga dem som vet :)
Användarvisningsbild
Azreal
Inlägg: 20
Blev medlem: 18 okt 2006, 11:33
Ort: Uppsala

SV: Inkludera stryrande tecken i MySQL?!

Inlägg av Azreal »

rancor skrev: Hej.
Jag sitter och skall förhindra SQL injections vilket är förhållandevis enkelt. Jag tillåter endast t.ex. stora, små, space och siffror.
Men jag vill t.ex. att info-fält skall få innehålla '%|"&@-tecken.
Jag lekte att base64-koda allt innan jag skickade över datat till sql-servern där jag dekoda skiten och det blev inte lyckat.
Hur överför ni tecken som normalt sätt MySQL skulle tolka som kommande, avslut av kommando och liknande och sparar dem som värden i databasen?

Blir inte klok på detta
Jag skulle nog kontrollera indata med regular expressions och se om förbjudna mönster förekommer.
Vilker språk använder du dig utav?
Användarvisningsbild
Barre
Inlägg: 2298
Blev medlem: 13 dec 2006, 10:23
OS: Ubuntu
Ort: Stockholm
Kontakt:

SV: Inkludera stryrande tecken i MySQL?!

Inlägg av Barre »

________________________________________________________________
twitter @ BarreGargamel
blogg @ Gargamel.NU
Användarvisningsbild
rancor
Inlägg: 1649
Blev medlem: 18 maj 2006, 23:33
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

SV: Inkludera stryrande tecken i MySQL?!

Inlägg av rancor »

Jag använder ASP 3.0 och för tillfället har jag löst problemet såhär.

Kod: Markera allt

Function FixInput4MySQL(sInput)
	Dim s_FixInputRawdata
	
	s_FixInputRawdata = sInput
	s_FixInputRawdata = Replace(s_FixInputRawdata, "'", "''")
	s_FixInputRawdata = Replace(s_FixInputRawdata, "\", "\\")
	s_FixInputRawdata = Replace(s_FixInputRawdata, """", "\""")
	
	FixInput4MySQL = s_FixInputRawdata
End Function
Skriv svar

Återgå till "Programmering och webbdesign"