2008-10-01 2 views

Répondre

7

Non sauf si vous exploitez le serveur Web ou la pile .NET/ASP.NET elle-même.

+0

Pouvez-vous expliquer plus s'il vous plaît. –

+0

Si votre code est complètement géré, il n'y a aucun moyen de déborder le code que vous écrivez. Mais la pile (.NET et autres) que vous avez construite n'est pas écrite en code managé pur, il y a donc une possibilité de les exploiter, même si elle est petite. –

+0

Merci beaucoup pour votre réponse. –

8

Dans le cas général, vous n'avez pas à vous soucier des dépassements de mémoire tampon. C'est l'un des principaux avantages du code managé, la récupération de place étant peut-être l'autre avantage majeur.

Il y a quelques cas de bord dont vous devez être conscient - chaque fois que votre code managé interagit avec du code non managé (appels d'API Win32, interopérabilité COM, P/Invoke, etc.) il existe un risque de dépassement de tampon code, basé sur les paramètres transmis à partir du code managé.

De même, le code marqué comme "non sécurisé" peut manipuler directement les adresses mémoire de manière à provoquer un débordement de la mémoire tampon. La plupart du code C# est écrit sans utiliser le mot-clé "dangereux", cependant.

0

J'ai eu un outil (HP Dev Inspect) détecter un éventuel "débordement de tampon de paramètre possible" dans mon application ASP.NET et c'était parce que nous n'avions pas un MaxLength = "20" dans un de nos TextBoxes.

+2

Différents types de dépassement de tampon, bien en quelque sorte. Si la valeur de votre zone de texte est passée non cochée à, oh, disons, un paramètre SQL, il pourrait faire des ravages - ou si elle est passée à une fonction qui n'attendait pas le texte entier de "Call of Cthulu" se conduire mal. Sachez que les utilisateurs avertis (comme ceux qui utilisent l'extension Web Developer de FF) peuvent simplement désactiver MaxLength. C'est une défense de commodité, pas quelque chose sur lequel vous devriez compter. Vous devriez toujours vérifier la longueur de l'entrée de l'utilisateur si cela compte. – Broam

Questions connexes