0

我有一个页面,它是 CMS 控制面板的一部分,用户可以在其中使用要保存在数据库中的 javascipt 代码填充某些文本框。回调被服务器阻止,但有以下异常:

异常消息:从客户端检测到潜在危险的 Request.Form 值 (ctl00$ContentPlaceHolder1$txtMenuAdsenseCode="

当我没有进行完整的回发时,我不确定为什么服务器会抱怨文本框值,但是有什么办法可以关闭它吗?我把ValidateRequest="false"页面和这个放在web.config

  <location path="~/Admin/Settings.aspx">
      <system.web>
        <httpRuntime requestValidationMode="2.0" />
      </system.web>
    </location>

但它仍然抛出异常。

4

1 回答 1

1

尝试使用 Javascript 将文本框代码的内容序列化为 Base64,然后在代码隐藏中从 Base64 解码。

我通常使用这样的扩展方法:

public static string DecodeFrom64(this string encodedData)
{
    var data = Convert.FromBase64String(encodedData);
    string result = System.Text.ASCIIEncoding.ASCII.GetString(data);
    return result;
}
于 2012-11-06T20:26:56.407 回答