aspx 后台是c# 数据库是acess 很简单的一个添加新闻 的界面
如果只是输入普通的中英文 一切ok 但是如果输入奇异符号比如<>就会出现问题
比如下面的一段程序 
#include <string.h>
#include <iostream>
 
int main( )
{
    const int MaxLength = 80;
    char String1[] = "NO man is an island";
    char String2[MaxLength+1];
    strncpy(String2,String1,5); 
    std::cout << "\nString1: " << String1 << std::endl;
    std::cout << "\nString2: " << String2 << std::endl;
    return 0;
}
我输入然后发布就会出现以下的错误提示
从客户端(neirong="... #include <string.h> #include...")中检测到有潜在危险的 Request.Form 值。 
说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止。该值可能指示危及应用程序安全的尝试,如跨站点的脚本攻击。通过在 Page 指令或 配置节中设置 validateRequest=false 可以禁用请求验证。但是,在这种情况下,强烈建议应用程序显式检查所有输入。 异常详细信息: System.Web.HttpRequestValidationException: 从客户端(neirong="... #include <string.h> #include...")中检测到有潜在危险的 Request.Form 值。

解决方案 »

  1.   

    try
    1、web.config文件<system.web>后面加入这一句:   <pages validateRequest="false"/> 
           示例:
    <?xml version="1.0" encoding="gb2312" ?>
    <configuration>
       <system.web>
           <pages validateRequest="false"/>
       </system.web>
    </configuration>2、在*.aspx文件头的Page中加入validateRequest="false",示例如下:
    <%@ Page validateRequest="false" language="c#" Codebehind="index.aspx.cs" AutoEventWireup="false"  Inherits="MyBBS.WebForm1" %>
      

  2.   

    把web.config  中的validateRequest=false  修改就可以了