To jest nieco subiektywne pytanie, ale chciałbym usłyszeć o zaletach/wadach, aby to zrobić. Zarządzam projektem o otwartym kodzie źródłowym pod nazwą Quick and Dirty Feed Parser, a celem projektu jest uczynienie go tak bezproblemowym, jak to tylko możliwe, korzystaniem z kanałów RSS i Atom w .NET.Czy dopuszczalne jest domyślne włączenie funkcji UnsafeHeaderParsing?
Jednym z problemów, które napotkałem dość wcześnie podczas opracowywania projektu, było to, że niektóre kanały, z których korzystałem jako przypadki testowe (a mianowicie Hacker News RSS feed), używały niepoprawnie sformatowanych nagłówków HTTP i klasy HttpWebRequest w .NET 1.1 i wyżej natychmiastowo zgłasza wyjątek "niebezpieczny nagłówek" za każdym razem, gdy otrzymasz jeden z tych nagłówków w żądaniu GET.
Mój problem polega na tym, że mogę programowo włączyć opcję konfiguracyjną "useUnsafeHeader", ale robi to na wszystkich HttpWebRequests w kontekście tej aplikacji. Mam użytkowników, którzy skarżyli się, że analizator paszy QD nie może pobierać poprawnych plików danych, a przyczyną problemu jest nagłówek.
W tej chwili mam swoją bibliotekę skonfigurowaną w taki sposób, że programiści, którzy jej używają, muszą sami włączyć przetwarzanie niebezpiecznych nagłówków, chociaż większość z nich nie jest świadoma, że to jest problem i powoduje obciążenie dla mnie. .
Mogę po prostu mieć Quick and Dirty Feed Parser domyślnie włączać niebezpieczne przetwarzanie nagłówka i wymuszać na bezpiecznych użytkownikach wyłączanie go, ale nie chcę otwierać użytkowników, którzy nie znają się na atakach bezpieczeństwa. . Jaka jest najlepsza opcja?
Właśnie odwiedziłem stronę projektu i zauważyłem, że na pierwszej stronie nie ma strony "FAQ", chociaż udokumentowałeś ten problem w "Zaawansowanym użytkowaniu" gdzie indziej (nie w sposób oczywisty). Spraw, aby Twoja dokumentacja była przewidywalna i łatwa do zlokalizowania, może także pomóc Ci zaoszczędzić na kosztach obsługi. –