2012-08-23 16 views
8

私は明らかにWebページに入るユーザーコントロールにWYSIWYGエディタを埋め込んでいます。私がページを提出すると、 "潜在的に危険なRequest.Form値がクライアントから検出されました"という例外が発生しています。以前のバージョンの.NETでは、このページのValidateRequestをオフにするだけでした。ASP.NET 4.5潜在的に危険なRequest.Form値がクライアントから検出されました

ただし、.NET 4.5では、ValidateRequestModeというプロパティがあるようです。これを無効に設定すると、引き続きエラーが発生します。まだ.NET 4.5のエラーについてはあまりありませんので、誰もが解決策を知っていますか?

ありがとうございます。

+2

代わりに、サーバーに送信する前に、JavaScriptを使用してwyswingエディターのコンテンツをエンコードすることもできます。そうすれば、検証を無効にする必要はありません。 – m0s

+0

私は最新のTinyMCEエディタ(バージョン3.5.6)を使用しています。すでに使用しているコンテンツをエンコードするためのオプションが組み込まれています。これはそれをエンコードする必要があります。しかし、私はまだエラーが発生しています。 – Ricketts

答えて

13

問題が見つかりました。それは、TinyMCEエディタとは関係なく、コードの前にコード化されたコンテンツを読み込んで投稿する必要がありました。解決策は、m0sが示唆しているようにjavascriptでエンコードすることでした。 TinyMCEのは、あなたが、私が設定していたが、それは私がコンテンツに持っていたアポストロフィをコードしない

encoding: "xml" 

を設定することができます内蔵のオプションがあります。だから、それを修正するためには、ページ上のTinyMCEのinit関数にこれを追加する必要があります。

の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"); 
    }); 
} 

私が見つけましたここに解決策:http://blog.tentaclesoftware.com/archive/2012/05/21/asp-net-4-0-tinymce-and-ldquoa-potentially-dangerous-request.aspx

誰かを助ける希望!

+0

このように後でテキストを読み込むことはできません。 TinyMCEはそれらを処理しません。 – Akbari

0

コンテンツプロパティpublic virtual string content{ get; set; }の前に[AllowHtml]を追加してこれを解決しました。

関連する問題