J'ai un SQL construit dynamiquement comme ci-dessous. Ma question est, est-ce vulnérable à l'injection de SQL? Si oui, comment dois-je le réparer?SQL Server SQL dynamique avec la clause LIKE et l'injection SQL
--search title only
if @SearchType =2
BEGIN
SET @strSQL = @strSQL + 'AND (IDownload.FileTitle LIKE ''%'[email protected]+'%'' ) '
END
Oui, et il est réparable en utilisant un paramétrage approprié pour votre SQL dynamique (par exemple en utilisant sp_executesql avec @search en tant que paramètre). – ZLK
@ZLK que se passe-t-il si mon code côté serveur (C#) utilise déjà un paramétrage correct et une instruction préparée, mon code SQL Server est-il toujours vulnérable? –
Oui, c'est toujours vulnérable, à cause de la manière dont l'instruction en cours est écrite. – ZLK