none
求助:服务器接受html文本问题 RRS feed

  • 问题

  • 在将页面提交给服务器时,出现如下提示:

    从客户端(TextBox1="<H1>hhb</H1>")中检测到有潜在危险的 Request.Form 值
    说明:
    请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止。该值可能指示危及应用程序安全的尝试,如跨站点的脚本攻击。通过在 Page 指令或 配置节中设置 validateRequest=false 可以禁用请求验证。但是,在这种情况下,强烈建议应用程序显式检查所有输入。


    服务器为防止脚本注入而采取的安全措施,请问:如何对客户端html文本进行编码以让服务器接受html文本?
    2009年2月22日 15:26

答案

  • 有2种办法
    1,你可以在提交之前对内容进行处理,如将<替换成&lt;等,如
    <script type="text/javascript">
      function r() {
        document.getElementById("<%=TextBox1.ClientId %>").value = document.getElementById("<%=TextBox1.ClientId %>").value.replace(/</g, "&lt;")
      }
    </script>


    2,在页面前面写

    <%@ Page Language="C#" ValidateRequest="false" AutoEventWireup="true"  %>
    孟宪会
    • 已标记为答案 翰彬 2009年2月23日 1:45
    2009年2月22日 15:47
    版主