用戶在頁面上提交表單到服務器時,服務器會檢測到一些潛在的輸入風險,例如使用富文本編輯器控件(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處理。