2009-11-30 4 views
1

J'ai des champs qui sont du texte libre et permettent à peu près n'importe quelle combinaison de nombres/symboles. Quel est le meilleur moyen de les valider pour empêcher l'injection SQL? Puis-je exécuter un simple remplacement des graduations? Y a-t-il une méthode que je peux brancher pour l'utiliser? Utilisez simplement les requêtes paramétrées!Méthode de filtre d'injection SQL pour ASP.NET

Répondre

8
+0

Les requêtes paramétrées sont une ligne de défense, mais vous pouvez toujours les utiliser et vous rendre vulnérable. Consultez cet article: http://www.owasp.org/index.php/Guide_to_SQL_Injection et mettez en signet le site OWASP pour toutes vos questions de sécurité. C'est un très bon endroit pour apprendre. – David

+2

@David: autant que je sache, le seul problème potentiel avec les requêtes paramétrées ou les procédures stockées est si vous utilisez SQL dynamique. "Alors, ne fais pas ça!". –

+0

@John Saunders - Absolument! Je voudrais juste faire référence à tout le monde avec une question de sécurité sur le site d'OWASP. Pour l'instant c'est la ressource la plus complète que j'ai trouvée sur le sujet. – David

1

Il existe différentes méthodes décrites ici: How To: Protect From SQL Injection in ASP.NET

citation:

contremesures comprennent l'utilisation d'une liste de caractères acceptables pour limiter l'entrée, en utilisant SQL paramétrées pour l'accès aux données , et en utilisant un compte moins privilégié qui a des autorisations restreintes dans la base de données. L'utilisation de procédures stockées avec SQL paramétré est l'approche recommandée car les paramètres SQL sont de type safe. Les paramètres SQL de type sécurité peuvent également être utilisés avec SQL dynamique. Dans les situations où le SQL paramétré ne peut pas être utilisé, pensez à utiliser des techniques d'échappement de caractères.

Les contrôles de validation peuvent vous aider, bien qu'ils soient exécutés côté serveur, et non côté client. ASP.NET a aussi une certaine protection intégrée, mais je ne me fierais pas à elle seule.

Questions connexes