11

MVC.NETサイトでwysiwygエディターとしてCKEditor/CKFinderを使用しています。

設定[ValidateInput(false)]しましたが、ローカルでデバッグすると機能しますが、サイトを公開すると次のエラーが発生します。

A potentially dangerous Request.Form value was detected from the client (message="<p>
<em>Testing</e...").

特に私が設定した場合、公開されたサイトがローカルサイトと異なる理由を誰かが説明でき[ValidateInput(false)]ますか?

*更新: *私は.Net 3.5を使用しているので [ValidateInput(false)]、箱から出してはいけませんか?

4

6 に答える 6

26

htmlEncodeOutputプロパティを設定してみましたか?

CKEDITOR.replace('editor1', {
    htmlEncodeOutput: true });

これにより、出力がエンコードされ、requestValidationModeの設定を回避できるようになります。

そのためのドキュメントはここにあります:ckEditorドキュメント

于 2011-01-18T15:24:05.040 に答える
7

これをweb.configに追加します。

<httpRuntime requestValidationMode="2.0" />
于 2011-01-07T22:51:53.503 に答える
0

Postメソッドアクションに[ValidateInput(false)]としてアノテーションを追加するだけです。

[HttpPost]
    [ValidateAntiForgeryToken]
    [ValidateInput(false)]
    public ActionResult Detail(ModelClass m)
    { return View(); }
于 2017-09-06T13:18:30.713 に答える
0

ValidateRequest="false"これを特定のページに追加します。

例:

于 2018-07-25T06:05:50.900 に答える
0

ページに追加ValidateRequest="false"

<%@ Page Language="C#" AutoEventWireup="false" Codebehind="MyForm.aspx.cs" Inherits="Proj.MyForm" ValidateRequest="false"%>

または、.NET Framework 4.0(Visual Studio 2010)を使用している場合は、web.configに追加します

<httpRuntime requestValidationMode="2.0" />
于 2018-10-26T07:40:50.047 に答える
0

使用するRequest.Unvalidated["myTextBox"]

例えば、

var text = Request.Unvalidated["myTextBox"];

ここで、「myTextBox」は、HTMLの投稿を許可するフォームフィールドです。

于 2019-09-02T10:53:02.407 に答える