Может ли кто-нибудь пролить свет на то, почему DotNetNuke настроен с проверкой достоверности запроса и проверкой событий? Они оба находятся на уровне web.config для установки по умолчанию, которая, как представляется, является регрессивным подходом. Есть ли веские причины для этого и что такое функциональное воздействие на DotNetNuke, если они снова включены?Почему функция DotNetNuke отключена?
Очевидно, что правильная проверка входных данных должна происходить в коде в любом случае, но внутреннее поведение платформы .NET всегда является хорошим резервным.
Обновление: дальнейшие мысли по этому вопросу в Request Validation, DotNetNuke and design utopia
Вы говорите, что глобальная проверка сама по себе плоха или только если она используется вместо явной проверки ввода в каждом случае? Я не понимаю, как использовать его в качестве дополнительной защитной сетки. Конечно, Microsoft считала, что это стоит того. –
@Troy Hunt Да, глобальная проверка ввода - это плохо. Это делает программистов ленивыми, и он никогда не сможет предотвратить все уязвимости. Хотя я признаю, что magic_quotes_gpc предотвратит большинство SQL-инъекций. Проблема в том, что * most * недостаточно хорош, для получения Pnw3d требуется только 1 уязвимость. Программисты должны нести ответственность за созданные ими уязвимости и должны знать, как их исправлять. – rook