Наследование ASP.NET Web.config не работает для параметра MaxHttpCollectionKeys из MS11-100
После обновления наших систем недавно выпущенным исправлением уязвимости asp.net ms11-100 мы обнаружили, что некоторые из наших страниц начали давать сбой за исключением "[HttpException (0x80004005): данные формы в кодировке URL недействительны.]" Это освещено на форумах asp.net здесь:
http://forums.asp.net/t/1754512.aspx/1?Microsoft+security+bulletin+MS11+100+breaking+our+site
и на stackru здесь:
ASP.NET MS11-100: как изменить ограничение на максимальное количество отправляемых значений формы?
Я попытался ограничить предлагаемые изменения области атаки конкретной страницей, переместив эту страницу в свою собственную папку, чтобы у меня мог быть определенный web.config в этой папке с настройкой aspnet:MaxHttpCollectionKeys, имеющей значение больше, чем по умолчанию 1000.
Я обнаружил, что если я не укажу этот параметр в файле web.config в корневой папке, этот параметр не вступит в силу. Казалось, что asp.net просто проигнорировал настройку, когда она была в файле web.config в новой папке для страницы.
Есть ли что-то еще, что мне нужно сделать, чтобы это произошло? Или это вообще невозможно из-за характера обстановки?
2 ответа
Основываясь на моем понимании того, как это работает, у меня есть некоторые сомнения, что вы можете изменить эти настройки с помощью уровня папки web.config. Похоже, что MaxHttpCollectionKeys относится к уровню пула приложений, поэтому для изменения базового значения вы должны создать еще один пул приложений.
Я также попытался поместить это в подпапку без удачи. Как только я вместо этого поместил это в корень web.config, это работало.