Seite 1 von 1

Re: sql quoting mit basic // sql injection?

Verfasst: So, 04.01.2009 16:32
von tamtam
Hallo Gast,

deine Fragen kann ich mangels Erfahrung in StarBasic nicht beantworten. Hier helfen Dir sicher die Experten. Bis dahin hilft Dir vielleicht folgende mit heißer Nadel gestrickte Funktion:

Code: Alles auswählen

Function SqlSave( sql as String ) as String
	dim iSqlLen as integer
	dim iPos as integer
	dim iFnd as integer
	
	SqlSave = ""
	if len(sql) > 0 then
		iPos = 1
		do while 1
			iFnd = InStr(iPos, sql, "'")
			if iFnd > 0 then
				SqlSave = SqlSave + mid(sql, iPos, iFnd-iPos) + "''"
				iPos = iFnd+1
			else
				SqlSave = SqlSave + mid(sql, iPos, len(sql)-iPos+1)
				Exit Do
			endif 
		loop 
	endif
End Function
Mit dieser Funktion werden die Apostrophe verdoppelt. Macht Benutzereingaben in SQL Ausdrücke um einiges sicherer.

Grüße,

tamtam