2012-08-23 23 views
8

Ho un editor WYSIWYG incorporato su un controllo utente che ovviamente entra in una pagina web. Quando invio la pagina, visualizzo "l'eccezione del valore Request.Form potenzialmente pericoloso rilevata dal client". Nelle precedenti versioni di .NET, avrei semplicemente disattivato ValidateRequest per la pagina.ASP.NET 4.5 Un valore Request.Form potenzialmente pericoloso è stato rilevato dal client

Tuttavia, in .NET 4.5, sembra avere una proprietà di ValidateRequestMode. Quando l'ho impostato su disabilitato, continuo a ricevere l'errore. Non c'è ancora molto da fare per quanto riguarda gli errori di .NET 4.5, quindi qualcuno conosce la soluzione?

Grazie in anticipo.

+2

In alternativa è possibile utilizzare javascript per codificare il contenuto dell'editor di wyswing prima di inviarlo al server. In questo modo non è necessario disabilitare la convalida. – m0s

+0

Sto usando il più recente editor TinyMCE (versione 3.5.6) e ha un'opzione integrata per la codifica del contenuto, che sto già utilizzando. Quindi questo dovrebbe codificarlo. Ma sto ancora ricevendo l'errore. – Ricketts

risposta

13

Ho trovato il problema. Ha a che fare con l'editor TinyMCE che ha bisogno di avere il contenuto codificato prima del codice che sta cercando di leggere e postarlo. La soluzione era quella di codificare via javascript come suggerito da m0s. TinyMCE ha un built-in opzione è possibile impostare

encoding: "xml" 

che avevo impostato, ma non codifica apostrofi, che ho avuto nel contenuto. Quindi, al fine di risolvere il problema, è necessario aggiungere questo alla funzione di TinyMCE init sulla pagina:

TinyMCE 3.x

setup: function (ed) { 
    ed.onSaveContent.add(function (i, o) { 
     o.content = o.content.replace(/&#39/g, "&apos"); 
    }); 
} 

TinyMCE 4.x

setup: function(editor) { 
    editor.on("SaveContent", function(i) { 
     i.content = i.content.replace(/&#39/g, "&apos"); 
    }); 
} 

ho trovato il soluzione qui: http://blog.tentaclesoftware.com/archive/2012/05/21/asp-net-4-0-tinymce-and-ldquoa-potentially-dangerous-request.aspx

La speranza che aiuta qualcuno!

+0

Non è possibile caricare il testo in seguito in questo modo. TinyMCE non li elaborerà. – Akbari

0

Ho risolto questo problema aggiungendo [AllowHtml] prima della proprietà di contenuto public virtual string content{ get; set; }.

Problemi correlati