2011-08-11 153 views
1

最近我遇到了面試問題。允許發佈Html內容

您已完成使用.NET Framework 3.5的ASP.NET應用程序。
您計劃將包含HTML代碼的文本提交給應用程序中的頁面。
您需要確保可以成功提交HTML代碼,而不會影響在Web服務器上運行的其他應用程序。
你會有什麼選擇?

  1. 添加以下Web.Config中

    <system.web> 
        <pages validateRequest="false"/> 
    </system.web> 
    
  2. 添加Machine.config中

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

我想正確的答案可能是:(1)。只是想確認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」。