Qualcuno può far luce sul motivo per cui DotNetNuke viene configurato con la convalida delle richieste e la convalida degli eventi disabilitata? Sono entrambi fuori dal livello web.config per un'installazione predefinita che sembra essere un approccio regressivo. Ci sono motivi validi per questo e qual è l'impatto funzionale su DotNetNuke se vengono riattivati?Perché DotNetNuke ha disabilitato la convalida?
Ovviamente è necessario che nel codice venga eseguita la convalida dell'input appropriato, ma il comportamento del framework .NET nativo è sempre un bel fallback.
Aggiornamento: ulteriori pensieri su questo in Request Validation, DotNetNuke and design utopia
Sta dicendo convalida globale in sé è un male o solo se viene utilizzato al posto di ingresso esplicitamente validare su un caso per caso? Non riesco a vedere come usarlo come una rete di sicurezza aggiuntiva è sempre una brutta cosa. Certamente Microsoft ha pensato che valesse la pena includerlo. –
@Troy Hunt Sì, la convalida dell'input globale è errata. Rende i programmatori pigri e non sarà mai in grado di prevenire tutte le vulnerabilità. Anche se ammetto che magic_quotes_gpc preverrà la maggior parte dell'iniezione sql. Il problema è che * la maggior parte * non è abbastanza buona, richiede solo 1 vulnerabilità per ottenere Pnw3d. I programmatori devono essere responsabili delle vulnerabilità che creano e devono sapere come correggerli. – rook