2010-04-15 13 views
12

Sono stanco di includereCome disabilitare lo stato di visualizzazione MAC a livello globale?

EnableViewStateMac="false" 

in ogni pagina. Come farlo a livello globale?

+7

Per i posteri: disattivando ViewStateMAC, si consente a ViewState di essere manomesso dal client, quindi non ci si può fidare di nessuno dei dati presenti. – Greg

+2

** NON SEMPRE PENSARE DI QUESTO ULTIMO ** [Disattivare lo stato di visualizzazione MAC (e perché non si dovrebbe mai, mai, mai farlo)] (http://www.troyhunt.com/2013/09/understanding-and- testing-for-view.html) –

risposta

20

È possibile disattivare sul <pages> element in the web.config, in questo modo:

<configuration> 
    <system.web> 
    <pages enableViewStateMac="False" /> 
    </system.web> 
</configuration> 
+5

NON FARE QUESTO! Ciò introdurrà una vulnerabilità di sicurezza nella tua applicazione (vedi il commento di seguito di @ has-altaiar) e questo video: http://vimeo.com/68390507 – Quango

7

La risposta di cui sopra spiegare a voi come impostarlo nel web.config, ma guarda MSDN e vedrete quello che dice here :

Questo attributo non deve mai essere impostato su falso in un sito Web di produzione, anche se l'applicazione o la pagina non utilizza lo stato di visualizzazione. La vista stato MAC aiuta a garantire la sicurezza di altre funzioni ASP.NET nello oltre allo stato di visualizzazione.

Problemi correlati