Je dois créer des conditions de recherche à utiliser avec la clause WHERE. Cette condition de recherche est ensuite transmise à une application différente pour être exécutée dans le cadre d'une requête SQL. Parce que les conditions de recherche peuvent être assez complexes (y compris les sous-requêtes), je ne crois pas que la réception d'une application puisse les analyser intelligemment pour empêcher les attaques par injection SQL. Les meilleures pratiques indiquent que les requêtes paramétrées doivent être utilisées. Cela fonctionne correctement lorsque vous utilisez l'objet de commande pour exécuter la requête vous-même. Dans mon cas, je souhaite obtenir cette chaîne de requête avec les paramètres qui y sont fusionnés, et analyser la partie de recherche qui m'intéresse. Y a-t-il un moyen de le faire?Créer des conditions de recherche sécurisées pour la clause SQL WHERE
Je travaille avec MS SQL Server et remplace actuellement simplement toutes les guillemets simples par deux guillemets simples dans la chaîne que je reçois d'un appelant. Existe-t-il un meilleur moyen d'atteindre un certain niveau de protection contre les attaques par injection SQL?
Différent quoi? – SLaks
Si la chaîne que vous avez déjà a les paramètres fusionnés, comment pouvez-vous "remplacer toutes les guillemets simples par deux guillemets simples"? Est-ce que ça ne va pas casser des choses comme 'WHERE name = 'KOTMATPOCKUH''? – Heinzi
@Heinzi Je dois construire le WHERE, donc on me donne la valeur de recherche KOTMATPOCKUH. Cependant, il peut également contenir un code malveillant. L'utilisation de paramètres aurait été idéale, mais il ne semble pas que je puisse obtenir .NET pour faire le travail pour moi et me renvoyer la requête. – LeffeBrune