asp.net 从客户端中检测到有潜在危险的 Request.Form 值

asp.net 页面TextBox 当输入有html 标签值,页面有提交动作时.VS会自动Check 此不安全错误.
如:从客户端(ctl00$MainContentPlaceHolder$txtOwner="<d>")中检测到有潜在危险的 Request.Form 值
有两种方法解决:
1.捕获此错误,并以友好的消息提示
    //当user 输入不安全的Html标签: 如<td>,系统自动会报安全错误,此方法是捕获此错误!
    protected void Page_Error(object sender, EventArgs e)
    {
        Exception ex = Server.GetLastError();
        if (HttpContext.Current.Server.GetLastError() is HttpRequestValidationException)
        {
            HttpContext.Current.Response.Write("輸入內容存在不安全的Html標籤,請輸入合法的字串!  <a href=\"javascript:history.back(0);\">返回</a>");
            HttpContext.Current.Server.ClearError();
        }
    }

2. 关闭此功能.
在前台页面上Page 中加上ValidateRequest ="false"
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="BP_ModelSpec_Copy.aspx.cs" Inherits="ProductSpec_BP_ModelSpec_Copy" ValidateRequest ="false"%>

posted on 2009-10-14 14:30  AndyCai  阅读(367)  评论(0编辑  收藏  举报

导航