-2

テキストボックスからSQLテーブルにhtmlタグを文字列として挿入したい。通常の挿入クエリを取得すると、次のようなエラーが発生しました

潜在的に危険な Request.Form 値がクライアントから検出されました(Res_Details="<h2>Anotherone</h2>").

説明:

ASP.NET は、HTML マークアップまたはスクリプトが含まれている可能性があるため、潜在的に危険なデータを要求内に検出しました。データは、クロスサイト スクリプティング攻撃など、アプリケーションのセキュリティを侵害する試みを表している可能性があります。このタイプの入力がアプリケーションに適している場合は、明示的に許可するコードを Web ページに含めることができます。

詳細については、 http: //go.microsoft.com/fwlink/?LinkID=212874を参照してください。

4

4 に答える 4

3

[ValidateInput(false)]Post アクションの上に置きます。

[AllowHtml]または、必要なプロパティの上に置きます。

他のユーザーが提案し、Microsoft の言葉を引用すると、「要求の検証を無効にする最も安全でない方法」<httpRuntime requestValidationMode="2.0" />として、あなたに提案したことを行わないでください。web.config

詳細については、この MSDN の投稿を参照してください。

于 2013-07-16T11:07:55.863 に答える
0

次のコードを web.config の system.web タグの下に追加すると、私が経験したのと同じ問題が解決しました。

<system.web>
<httpRuntime requestValidationMode="2.0" />
</system.web>
于 2013-07-16T10:59:23.837 に答える
0

[AllowHtml]あなたview model property の問題を解決する必要があります

詳しくはこちら

に使用する場合、これは便利なソリューションeditorsですtextareas

于 2013-07-16T12:19:09.193 に答える
0
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" ValidateRequest="false"%>

.aspx ページに validateRequest="false" を追加します。

これがうまくいかない場合は試してください

<system.web>
    <compilation debug="true" targetFramework="4.0"/>
    <httpRuntime requestValidationMode="2.0"/>
<system.web>
于 2013-07-16T11:09:20.527 に答える