Das ist eine etwas subjektive Frage, aber ich würde gerne die Vor-/Nachteile dafür hören. Ich verwalte ein Open-Source-Projekt namens Quick and Dirty Feed Parser und das Ziel des Projekts ist es, es so nahtlos wie möglich zu machen, RSS- und Atom-Feeds in .NET zu konsumieren.Ist es akzeptabel, UnsafeHeaderParsing standardmäßig zu aktivieren?
Eines der Probleme, die ich ziemlich früh in der Entwicklung des Projekts bekam, war, dass einige der Feeds, die ich als Testfälle verwendete (nämlich Hacker News RSS feed), falsch formatierte HTTP-Header und die HttpWebRequest-Klasse in .NET verwendeten 1.1 und höher löst sofort eine "unsafe header" Ausnahme aus, wenn Sie einen dieser Header in einer GET-Anfrage erhalten.
Mein Problem ist also - ich kann die "UseUnsafeHeader" Konfigurationsoption programmgesteuert aktivieren, aber es tut es über alle HttpWebRequests im Kontext dieser Anwendung. Ich habe Nutzer, die sich darüber beschwert haben, dass der QD-Feed-Parser keine gültigen Feeds konsumieren kann, und dieses Header-Problem ist der Grund dafür.
Im Moment habe ich meine Bibliothek so eingerichtet, dass Entwickler, die es verwenden, unsafe Header-Parsing aktivieren müssen, obwohl die meisten von ihnen nicht wissen, dass dies das Problem ist, und es schafft einen Support-Overhead für mich .
Ich kann einfach Quick und Dirty Feed Parser aktivieren unsafe Header-Parsing standardmäßig und zwingen sicherheitsbewusste Benutzer, es zu deaktivieren, aber ich möchte nicht öffnen, Benutzer, die auch nicht besser zu Sicherheits-Angriffe wissen . Was ist die beste Option hier?
Ich habe gerade die Projektseite besucht und bemerkt, dass es auf der ersten Seite keine "FAQ" -Seite gibt, obwohl Sie dieses Problem in "Erweiterte Verwendung" woanders dokumentiert haben (nicht so offensichtlich). Machen Sie Ihre Dokumentation berechenbarer und einfacher zu finden, können Sie auch den Support-Overhead sparen. –