【问题标题】:Allow user to POST html string to a httpHandler允许用户将 html 字符串发布到 httpHandler
【发布时间】:2011-02-11 22:00:11
【问题描述】:

我正在使用 JQuery.ajax 和 C# 编写内容管理系统。 JQuery 调用 httpHandler 并从 html 编辑器 JQuery 插件发布 html。

我在处理程序中收到关于不安全内容(基本上是 html)的错误,但我不想关闭整个页面的验证,只关闭处理程序(处理程序是 Web 控件的一部分,而不是页面)。

那么,是否可以只为一个处理程序关闭验证?还是我需要在客户端对html进行编码?

最后我在HTML-encoding lost when attribute read from input field的客户端上进行了编码

但我仍然会对有关这种方法的意见感兴趣

【问题讨论】:

    标签: jquery asp.net ajax


    【解决方案1】:

    我认为这是 ASP.NET 4.0 中的一个新功能/问题。在此之前,他们只使用实际的 aspx 页面请求验证,而不是处理程序。

    因此,您可以在 web.config 中更改以下设置,使其表现得像 2.0,然后您的页面仍将验证,但处理程序(其中任何一个)将不再使用请求验证。

    <httpRuntime requestValidationMode="2.0" />

    Here's the page 提供有关 4.0 中此更改的信息。

    【讨论】:

      【解决方案2】:

      您可以尝试在 web.config 中禁用此特定处理程序的请求验证:

      <httpHandlers>
          <add path="foo.ashx" type="Foo.MyHandler" verb="*" validate="false" />
      </httpHandlers>
      

      【讨论】:

      猜你喜欢
      • 2012-10-31
      • 2011-06-04
      • 2020-01-07
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 2011-10-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多