zoukankan      html  css  js  c++  java
  • 当页面编辑或运行提交时,出现“从客户端中检测到有潜在危险的request.form值”问题,该怎么办呢?

    最近在学习highcharts时,关于其中的导出功能,本来是想把导出的图片存放在本地,发现只有在电脑联网的情况下才可以一下导出图片,后来查阅了一番资料,才发现highcharts中的导出默认的官网服务器,这样一来,感觉导出功能不是很好用,于是,根据官网提供的导出方法,就想写一个导出到本地的功能,然而在写完后,发现每次在提交服务是,总是出现“从客户端中检测到有潜在危险的request.form值”问题,后来在网上查阅了一番,才明白了。好了,废话不多说,直接进入主题:

    问题原因

          由于在asp.net中,Request提交时出现有html代码或javascript等字符串时,程序系统会认为其具有潜在危险的值。环境配置会报出“从客户端 中检测到有潜在危险的Request.Form值”这样的Error。

    1、当前提交页面,添加代码 打开当前.aspx页面,页头加上代码:validateRequest=”false”,如:

    <%@ Page Language="C#" ValidateRequest="false" AutoEventWireup="false" CodeFile="default.aspx.cs" Inherits="default" %>

    2、全局修改web.config配置文件(此举不建议、不安全) 打开web.config文件,在<system.web></system.web>中间,加上如下代码:

    <pages validateRequest="false" />

    如果以上两种方法都无法解决,请接着往下看,

    问题原因由于你当前的.net ifreamwork框架环境是4.0

    3、同样,打开web.config配置文件,在<system.web></system.web>中间,加上代码:

    <httpRuntime requestValidationMode="2.0" />

    4、如果你的网站程序本身是net 2.0环境开发的,但放到了VS2010软件里运行,也会出现这种情况,你可以把运行解决方案切换成net2.0即可,更换方法详见页面第3步;

    5、另一种处理方法:原因是所传值含有特殊危险符号,那么可以在传前,利用Server.HtmlEncode(string)方法,对字符串进行编码,这样就会将危险字符转义为普通的字符。如TextBox1.Text=Server.HtmlEncode(str);

    6、在使用.netifreamwork框架为4.0时,同时执行第1.3步才可以。

  • 相关阅读:
    [JAVA]Java下XML的解析
    [短彩信]C#短彩信模块开发设计(4)——其他
    [短彩信]C#短彩信模块开发设计(3)——协议
    入住博客园了~
    【Oyster轻量框架】C# ORM 较灵活的轻量数据模型
    C# Oracle 之Insert 与 Update 的封装
    用WORD发布博客测试~
    C#自带的.net类库获得主机名和IP
    百万本书籍视频资料免费送
    教你使用ECode破解E语言crackme视频教程
  • 原文地址:https://www.cnblogs.com/ysq0908/p/6139218.html
Copyright © 2011-2022 走看看