2011-08-11 8 views
1

最近私はインタビューの質問に直面しています。Htmlコンテンツの投稿を許可する

.NET Framework 3.5を使用してASP.NETアプリケーションを完成させました。
HTMLコードを含むテキストをアプリケーションのページに送信する予定です。
Webサーバー上で実行される他のアプリケーションに影響を与えずに、HTMLコードを正常に送信できることを確認する必要があります。
あなたのオプションは何ですか?

  1. 私は、正しい答えは(1)とすることができると思いたMachine.Config

    <system.web> 
        <pages validateRequest="false"/> 
    </system.web> 
    

に次のように追加のWeb.Config

<system.web> 
    <pages validateRequest="false"/> 
</system.web> 
  • を次の行を追加します。ただ、SOの専門家からの答えを確認したい。私を助けてください。

  • 答えて

    2

    1)が正しい。 machine.configにコードを入力すると、マシン全体に影響します。これは、これがグローバル設定であるためです。

    +0

    ありがとうございます。 – Nisha

    0

    これが鍵ですWebサーバー上に

    を実行する他のアプリケーションに影響を与えることなく、web.configファイルは一つだけのアプリケーションに影響します。 Wherasのmachine.configは、サーバー上で実行されているすべてのアプリケーションに影響します。

    2

    また、要求の検証が発生したとき、あなたが コントロールを持っているので、これはより多くのセキュリティになります

    [ValidateInput(false)] 
        public ActionResult Index() 
        { 
         return View(); 
        } 
    

    でシングルアクションメソッドを飾ることができます。

    +0

    ニース - 私はこれを知らなかった –

    +0

    これはもちろん、MVCアプリケーションにのみ適用されます。 Webフォームでは機能しません。 – mike

    0

    HTMLコードを含むテキストを アプリケーションのページに送信する予定です。

    それだけではるかに少ない、そのサーバー上のすべてのアプリケーションのための「ページ、」むしろ、アプリケーション全体(web.configファイル)の場合よりも、一人でそのページをチェックする検証を無効にするには、はるかに良いだろう、ですので、 (machine.config)。

    これを行うには、@PageディレクティブでValidateRequest = "false"を設定します。

    関連する問題