Quelqu'un pourrait-il me diriger vers un bon guide de débutant sur l'exécution en toute sécurité des requêtes SQL formées en partie à partir de l'entrée de l'utilisateur? J'utilise Java, mais un guide de langue neutre est bien aussi.Comment désinfecter l'entrée de la base de données en Java?
Le comportement souhaité est que si quelqu'un tape dans quelque chose comme interface graphique
very nice;) DROP TABLE FOO;
La base de données devrait le traiter comme une chaîne littérale et le stocker en toute sécurité sans laisser tomber toutes les tables.
C'est exactement le type d'attaque contre lequel les instructions préparées sont censées se protéger. Il va échapper à. – danieltalsky
Techniquement, l'interface PreparedStatement ne le garantit pas. Bien que votre chauffeur fasse quelque chose de différent, trouvez un nouveau fournisseur. –
@daniel - Je vais devoir l'essayer et voir par moi-même. Que ce soit correct ou non, n'êtes-vous pas d'accord pour dire que la validation côté serveur est toujours une bonne idée? – duffymo