Je suis sur le point d'avoir à traiter du code SQL dans ASP VBScript classique.Comment exécuter une requête SQL paramétrée dans un ASP classique? Et est-ce sécurisé?
J'ai deux questions. Tout d'abord, dans .net, j'ai l'habitude d'utiliser les objets de l'espace de noms System.Data.SqlClient pour effectuer des requêtes. Par exemple:
Dim conn as New SqlConnection("Data Source=MyServer;uid=myUid;pwd=myPwd;Initial Catalog=myDataBase;"
Dim cmd as New SqlCommand("Select fname From myTable where [email protected];", conn)
cmd.Parameters.add(New SqlParameter("@uid",100323)
conn.open()
Response.Write(cmd.ExecuteScalar())
conn.Close()
On m'a dit que l'utilisation d'une requête paramétrée en tant que telle fait ma requête sécurisée des attaques par injection SQL. Je voudrais savoir quel est le code équivalent à faire une telle requête dans ASP classique avec VBScript et quelles précautions de sécurité similaires doivent être utilisées pour se prémunir contre l'injection SQL.
Cela fonctionne mais est légèrement trompeur. En étant adodb, même si le paramètre est appelé @id, et que l'appel createParameter s'appelle "@id", je crois qu'il utilise des paramètres positionnés (comme si vous utilisiez simplement???). Donc, si vous avez plusieurs valeurs à remplacer, vous devez appeler createParameter (...) à chaque fois dans l'ordre approprié. – Jagu