J'ai besoin d'expliquer l'injection SQL à quelqu'un sans formation ni expérience technique. Pouvez-vous suggérer des approches qui ont bien fonctionné?
L'injection SQL est l'endroit où un utilisateur malveillant tente d'obtenir des informations d'un site Web auxquelles il n'est pas autorisé à accéder.
C'est un peu comme interroger une autre personne, où l'interrogateur est l'utilisateur malveillant et la personne interrogée est le site Web.
Les choses que l'interrogateur pourrait faire sont:
Certaines faiblesses de la personne interrogée peuvent être:
Les choses à noter sont qu'il y a de meilleurs interrogateurs que d'autres et que certaines personnes parleront tout de suite alors que d'autres ne le feront jamais.
Bien expliquer avec une analogie technique c'est bien mais je dirais un peu long et boiteux.
Je voudrais simplement expliquer qu'il s'agit de formalités administratives strictes ou d'exigences pour limiter les abus dans les administrations et les finances.
Si c'est fait d'une manière suffisamment stricte, vous avez moins de poissons maléfiques capables de passer à travers le filet.
J'utiliserais un dessin simple avec un pseudo-code très simple avec des boîtes et des flèches, et expliquerais l'analogie avec les robots et les boîtes.
Mon approche pour un non-technophile:
Supposons que vous travaillez dans un grand immeuble de bureaux. Chaque employé a une clé propre à son bureau (= requête SQL que le programmeur voulait exécuter). Maintenant, quelqu'un prend un fichier aiguille et modifie un peu sa clé, c'est-à-dire en supprimant une broche (= injection SQL, modification de la requête SQL). Cette clé modifiée peut ouvrir différentes (ou peut-être toutes les portes). Ainsi, le greffier a accès à plus ou à tous les bureaux de cette maison et peut lire/modifier des documents provenant d'autres bureaux.
Tout le monde est probablement habitué à utiliser des clés et des verrous, donc cela devrait être facile à comprendre et, à mon avis, c'est une bonne analogie avec une injection SQL.