Quelques trucs intéressants (16/10/2010)
Cette fois-ci :
- Debug / Performance
- Sécurité / Stabilité / Performance
- Sécurité
- SQL Server
Debug / Performance
Sécurité / Stabilité / Performance
- Why does StreamReader.ReadLine throw OutOfMemoryException? (rapport de bug sur Microsoft Connect)
Un rapport de bug sur la classe StreamReader que je suivais depuis sa publication : un bug au niveau de la méthode ReadLine peut entrainer une grosse dégradation des performances du système l'utilisant, si on lui soumet un flux spécialement bâti.
L'exemple donné dans le rapport est suffisamment démonstratif, son exécution montre bien où se situe le problème côté stabilité et performance.
239 = 0xEF, le premier octet du préambule UTF-8 qui est censé en compter 3.
Le problème se pose bien sûr avec un autre type de flux que MemoryStream, le problème étant côté StreamReader.
Le bug a dernièrement été marqué comme fixé sans aucune explication (notamment sur la disponibilité du patch) donc vous aurez probablement envie de mettre en place vous même une validation plus poussée des flux entrants afin d'éviter un éventuel déni de service intentionnel ou accidentel.
Sécurité
- Authentication and Passwords: The Good, the Bad, and the Really Ugly! (webcast d'une session TechEd 2010 de Marcus Murray, en anglais, 1H15 environ)
Instructif. Ne pas se méprendre en lisant le titre de la session : ça ne parle pas que de mots de passe.
Au passage je n'avais encore jamais vu personne utiliser OneNote comme support de présentation. - AntiXSS 4.0 Released (blog Security Tools)
Une nouvelle version de cette librairie dont je vous avais déjà parlé est disponible.
Contrairement à ce que son numéro de version pourrait laisser penser, elle ne nécessite pas .NET 4.0 pour fonctionner mais au minimum .NET 3.5.
Pour rappel elle contient entre autres des méthodes HtmlEncode et UrlEncode similaires à celles de la classe HttpUtility, à l'exception du fait qu'elles fonctionnent sur un principe de "white list" et non pas de "black list" : on dresse la liste des caractères valides et tous les autres sont encodés.
Elle fournit aussi d'autres méthodes : - CssEncode
- HtmlAttributeEncode
- HtmlEncode
- HtmlFormUrlEncode
- JavaScriptEncode
- LdapDistinguishedNameEncode
- LdapFilterEncode
- UrlEncode
- VisualBasicScriptEncode
- XmlAttributeEncode
- XmlEncode
- GetSafeHtml
- GetSafeHtmlFragment
SQL Server
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :