Pour ma thèse principale, j'ai développé un programme qui détecterait automatiquement et proposerait des correctifs aux vulnérabilités d'injection SQL en utilisant des instructions préparées. Plus précisément l'extension mysqli pour PHP. Ma question pour la communauté SO est la suivante: Quelle serait votre approche préférée pour détecter le code source SQL dans PHP?Meilleure approche pour analyser SQL dans des fichiers PHP?
J'ai utilisé une énumération contenant SQL keywords (SELECT, INSERT, ...)
et fondamentalement analysé chaque ligne, en répétant l'énumération pour déterminer si un SQL était présent. De plus, je devais m'assurer que l'analyseur ne détecte pas html de façon erronée (par exemple < \ select>).
Pour moi cette solution a bien fonctionné, mais maintenant j'ai un peu plus de temps maintenant et j'ai pensé à refactoriser le code pour utiliser une solution plus élégante (et plus efficace). Veuillez limiter vos solutions à l'utilisation de C# car c'est ce à quoi j'ai écrit mon programme.