Als ik een SQL query maak in code, en daar een variable uit een usercontrol in heb staan is dit gevoelig voor SQL injection.
Normaliter zou ik addslashes() gebruiken in php, maar nu moet ik een stuk code schrijven in ASP.NET voor de paar regels die we niet via een stored procedure doen.
Hoe kan ik het beste de ' en de " vervangen of escapen om sql injection te voorkomen in ASP.NET en MS SQL?
Ik heb geprobeerd om bijvoorbeeld ' te vervangen door ''' maar dit geeft in sommige gevallen toch nog problemen.... Dan kan ik nog gewoon injecten:
Incorrect syntax near the keyword 'HAVING'.
Unclosed quotation mark after the character string ' )'.
Na gefilterd te zijn door:
sqlCommand = sqlCommand.Replace("'", "'''")
Opzich kan ik ook alles in een keer vervangen door bijvoorneeld " oid maar mijn collega vind dat geen juiste oplossing omdat er ook normale bestaande Windows Applicaties op die database draaien....
Normaliter zou ik addslashes() gebruiken in php, maar nu moet ik een stuk code schrijven in ASP.NET voor de paar regels die we niet via een stored procedure doen.
Hoe kan ik het beste de ' en de " vervangen of escapen om sql injection te voorkomen in ASP.NET en MS SQL?
Ik heb geprobeerd om bijvoorbeeld ' te vervangen door ''' maar dit geeft in sommige gevallen toch nog problemen.... Dan kan ik nog gewoon injecten:
Incorrect syntax near the keyword 'HAVING'.
Unclosed quotation mark after the character string ' )'.
Na gefilterd te zijn door:
sqlCommand = sqlCommand.Replace("'", "'''")
Opzich kan ik ook alles in een keer vervangen door bijvoorneeld " oid maar mijn collega vind dat geen juiste oplossing omdat er ook normale bestaande Windows Applicaties op die database draaien....