Это довольно субъективный вопрос, но я бы хотел услышать плюсы / минусы за это.Я управляю проектом с открытым исходным кодом, который называется Quick and Dirty Feed Parser , и цель проекта - сделать его максимально удобным для использования каналов RSS и Atom в .NET.
Один изПроблемы, с которыми я столкнулся довольно рано при разработке проекта, заключались в том, что некоторые каналы, которые я использовал в качестве тестовых случаев (а именно RSS-канал Hacker News ), использовали неправильно отформатированные заголовки HTTP и класс HttpWebRequest.в .NET 1.1 и выше быстро генерирует исключение «небезопасный заголовок» всякий раз, когда вы получаете один из этих заголовков в запросе GET.
Это изменение было добавлено, чтобы положить конец атакам с разделенным ответомкоторые вызывали проблемы с безопасностью во время выпуска .NET 1.1 .
Моя проблема, таким образом, заключается в том, что я могу включить параметр конфигурации «useUnsafeHeader» программно, но он делает это через ВСЕ HttpWebRequests в контексте этого приложения,У меня есть пользователи, которые жаловались на то, что QD Feed Parser не может использовать действительные каналы, и именно поэтому возникает проблема с заголовком.
Сейчас моя библиотека настроена так, что разработчики, использующие ее, должнывключите небезопасный анализ заголовка сами, хотя большинство из них не знают, что это проблема, и это создает служебную поддержку для меня.
Я могу просто использовать Quick and Dirty Feed Parser, который по умолчанию разрешает небезопасный парсинг заголовка, и заставляет пользователей, защищенных с точки зрения безопасности, отключать его, но я не хочу открывать пользователей, которые не знают ничего лучше для безопасностиатаки тоже.Какой лучший вариант здесь?