Le code SQL suivant est-il sensible à l'injection SQL via le paramètre @SearchWord?Paramètres de la fonction FormsOf et injection SQL
Je veux utiliser des paramètres avec la fonction FORMSOF, mais le seul guide pour le faire, je l'ai trouvé est dans ce Stack Overflow question: How to pass parameter to FormsOf function in sql server
Cependant, la solution semble être d'utiliser un peu de SQL dynamique , et je me demandais si cela serait susceptible d'injection SQL. Que se passerait-il dans l'exemple suivant si @searchWord contenait une chaîne de type injection SQL? N'est-ce pas un problème car il est toujours dans un paramètre, passé en argument à FREETEXTTABLE?
La solution donnée est:
DECLARE @SearchWord nvarchar(max)
SET @SearchWord = 'tax'
DECLARE @SearchString nvarchar(max)
SET @SearchString = 'FormsOf(INFLECTIONAL, "' + @SearchWord + '")'
SELECT listing_id, RANK, name, address, city, zip, heading, phone
FROM listings a,
FREETEXTTABLE(listings, *, @SearchString)
WHERE [KEY] = a.listing_id
ORDER BY RANK DESC, name