A potentially dangerous Request.Form value was detected from the client

xuxubaby發表於2015-01-15

使用者在頁面上提交表單到伺服器時,伺服器會檢測到一些潛在的輸入風險,例如使用富文字編輯器控制元件(RichTextBox、FreeTextBox、CuteEditor等)編輯的內容中包含有HTML標記或指令碼標記,ASP.NET頁面會丟擲一個"A potentially dangerous Request.Form value was deceted from the client"的異常。這個是ASP.NET頁面為了防範頁面注入功能的一種保護機制,要取消這種保護,常規的做法是在.aspx檔案的<%@Page %>部分加入ValidateRequest="false"屬性。但是從.NET 4.0開始你可能需要多修改一個地方,在網站的web.config檔案中加入這行配置:

<system.web>
    <compilation debug="true" targetFramework="4.0"/>
    <httpRuntime requestValidationMode="2.0"/>
</system.web>

   同時,你還需要確保頁面上使用者輸入的部分不會存在任何注入攻擊的程式碼,常用的做法是使用Encode處理。

相關文章