domenica 25 luglio 2010

'A potentially dangerous Request.QueryString value was detected from the client' dopo l'aggiornamento ad ASP.NET 4

Mi sono imbattuto in questo errore "A potentially dangerous Request.QueryString value was detected from the client" dopo aver aggiornato una nuova istallazione di DNN al framework 4.
Ad ogni click che facevo ottenevo questo errore. Dopo un po' di ricerche ho scoperto che si tratta di un sistema di validazione della request che viene chiamato ad ogni richista fatta per ogni tipo di risorsa.

Una soluzione è quella di impostare la direttiva validateRequest nel file webconfig.xml a false:

<pages validatgeRequest="false" />

Nel caso in cui sia già impostata a false e non si risolve il problema allora c'è un secondo tentativo da fare. Si deve aggiungere alla sezione httpRuntime la proprietà a "2.0":

<httpRuntime requestValidationMode="2.0" />

In questo modo si cambia il comportamento della validateRequest e non si ha più il problema.