Je me demandais si quelqu'un pouvait me donner un lien sur la façon de suivre un modèle de meilleure pratique pour insérer des données dans une base de données SQL en utilisant des procédures stockées. Je veux dire, quelles procédures devrions-nous prendre pour assurer que les données validées soient transmises via des procédures stockées.Meilleure pratique pour utiliser les procédures stockées dans asp.net pour insérer des données
Répondre
Il existe plusieurs façons de procéder selon que vous utilisez un ORM ou que vous utilisez un accès direct à la base de données. Une chose est que vous devez utiliser l'objet SqlParameter pour créer des paramètres SP. Il existe une grande variété de façons de créer un SqlParameter avec différentes options, mais la forme la plus simple est
SqlParameter[] prms = new SqlParameter[1];
prms[0] = new SqlParameter("@userid", "Bob");
Mais comment puis-je piéger javscript ou le code SQL s'ils le transmettent dans une zone de texte? Par exemple, je permets à l'utilisateur d'écrire un e-mail et j'enregistre également ce message en db avant d'envoyer un e-mail. Mais je ne veux pas que les utilisateurs/hackers écrivent un code entièrement fonctionnel en SQL pour pirater mon site ou corrompre les données. Même si j'utilise les paramètres Sql, mais est-ce sécurisé? – Mohit
Si vous utilisez des paramètres, les pirates ne peuvent pas effectuer d'injection SQL. –
Donc, c'est ce que je demande, que la déclaration que M. Cody C a faite est suffisante pour moi, alors ou dois-je faire d'autres choses aussi? – Mohit
Je vous recommande intégrer une logique de validation à une couche ci-dessus la mise en œuvre de la procédure stockée. De cette façon, vous pouvez avoir beaucoup plus de flexibilité dans votre mise en œuvre et votre exposition. Un exemple simple est que vous pouvez réutiliser une bibliothèque de validation sur plusieurs projets. La plupart des bibliothèques ORM prennent en charge la validation dans sa forme la plus simple en vérifiant l'affectation de type appropriée au moment de la compilation.
Je vous recommande également d'implémenter votre logique transactionnelle dans une couche au-dessus de les procédures stockées.
- 1. Motifs pour les procédures stockées?
- 2. Accès aux données avec des procédures stockées
- 3. ASP.NET - Gestion des erreurs dans les procédures stockées dans la base de données
- 4. Modifications de version pour les procédures stockées
- 5. Des procédures sont stockées plus rapidement pour les requêtes simples
- 6. Entity Framework, procédures stockées, ASP.NET GridView - Insérer une ligne vide
- 7. Meilleure pratique pour gérer les données des utilisateurs anonymes
- 8. Meilleure façon d'apprendre les procédures stockées de PostgreSQL?
- 9. Autoriser les procédures stockées d'autorisation
- 10. DB2 Code SQL pour extraire des procédures stockées
- 11. Méthode simple pour obtenir par programme toutes les procédures stockées
- 12. Utilisation de Linq avec des procédures stockées
- 13. Table SQL et analyseur de colonnes pour les procédures stockées
- 14. Performance des procédures récursives stockées dans MYSQL pour obtenir des données hiérarchiques
- 15. Comment dites-vous aux données dynamiques ASP .Net d'utiliser des procédures stockées pour sélectionner?
- 16. Implications des performances des commentaires dans les procédures stockées SQL
- 17. Meilleure pratique pour les services Web
- 18. Comment partager des données entre des procédures stockées
- 19. Comment sauvegarder des procédures stockées dans MySQL
- 20. Test des procédures stockées avec MySQL
- 21. Meilleure pratique pour Java IPC
- 22. Meilleure pratique pour les «activités récentes de mes amis»
- 23. Meilleure pratique pour exposer des services Web
- 24. Meilleure pratique pour initialiser les variables membres?
- 25. Meilleure pratique pour afficher la population de données?
- 26. Comment vérifier l'intégrité des procédures stockées
- 27. Bonne pratique pour utiliser JavaScript?
- 28. Meilleure pratique: dois-je utiliser un modèle AR ou un hachage global pour les données statiques?
- 29. Un bon générateur de code C# pour utiliser les procédures stockées Oracle?
- 30. Procédures sous-sonnettes et stockées
Je ne comprends pas votre question. La réponse évidente est: «validez les données avant de les utiliser», mais c'est trop évident pour être ce que vous vouliez dire. Précisez s'il vous plaît. –
Agir comme les données n'ont pas été validées lorsque vous l'obtenez? – Martin
NO Je valide Data, pour la taille et DataType. Mais que faire si un pirate essaie d'ajouter du code javascript ou du code SQL. Comment puis-je piéger ces choses? De plus, est-ce que je peux utiliser cette instruction pour entrer des paramètres cm.Parameters.AddWithValue ("@ UserID", TxtID.Text.ToString()); Je voulais juste savoir s'il y avait un bon modèle de pratique pour ces choses. – Mohit