Maison >développement back-end >C++ >Vulnérabilités des chaînes de formatage, mesures préventives et exemples en langage C
Format String - Il s'agit d'une chaîne ASCII utilisée pour formater des chaînes. Il s'agit d'une chaîne ASCII composée de texte et de paramètres de formatage.
Pour le formatage de la sortie du programme, il existe différentes chaînes de format en C.
Ces erreurs surviennent en raison d'erreurs de programmation que les programmeurs commettent facilement. Si un tel code sujet aux erreurs est transmis à une fonction de sortie telle que printf, sprintf, etc., l'opération d'écriture sera effectuée sur une adresse mémoire arbitraire.
#include<stdio.h> #include<string.h> int main(){ char buffer[100]; strncpy(buffer, "Hii ", 5); printf(buffer); return 0; }
Vous pouvez prendre certaines mesures pour éviter les vulnérabilités des chaînes de formatage
Essayez d'utiliser les chaînes de format en tant que programme au lieu de saisir des données. Ces problèmes peuvent être facilement résolus en utilisant le format de chaîne « %s ».
Créez une chaîne de format à l'aide de constantes et extrayez toutes les chaînes de variables comme arguments pour les appels de fonction au lieu de les utiliser dans des constantes string.
Pour le cas de spécifications d'initialisation de chaîne constante et variable Impossible de suivre la protection du format d'utilisation.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!