从客户端中检测到有潜在危险的 Request.Form 值的解决方案汇总
#事故现场
在一个asp.net 的项目中,前端通过ajax将富文本中的文字内容post到服务端的一个ashx中,在ashx中尝试读取参数值时,
结果报错:“从客户端中检测到有潜在危险的 Request.Form 值”
#事故分析
由于在asp.net中,Request提交时出现有html代码字符串时,程序系统会认为其具有潜在危险的值。会报出“从客户端 中检测到有潜在危险的Request.Form值”这样的Error。
而富文本中的内容是包含html代码的,所以...
#解决方案:
1、前端对富文本字符串进行encodeURI编码,服务端进行HttpUtility.UrlDecode解码操作;
前端代码:
var str = '<p><span style="color: #00B0F0;"><em><strong>我想留在你的身边,</strong></em></span><br/></p><p><span style="color: #7030A0;"><strong><span style="text-decoration: underline;">深情款款多么可怜;</span></strong></span></p>';$(function() {$.ajax({type: "post",url: "TestHandle.ashx",data: { Title: 'jack', Content: encodeURI(str) },success: function (data) {$("#div").html(data);}});});
后端代码:
public void ProcessRequest(HttpContext context){string str = context.Request["content"];string content = HttpUtility.UrlDecode(str);context.Response.ContentType = "text/plain";context.Response.Write(content);}
效果图:
2、前端不以form的方式提交,直接以json方式提交,服务端从request的body中读取数据,然后反序列化,得到信息;
前端代码:
var str = '<p><span style="color: #00B0F0;"><em><strong>我想留在你的身边,</strong></em></span><br/></p><p><span style="color: #7030A0;"><strong><span style="text-decoration: underline;">深情款款多么可怜;</span></strong></span></p>';var temp = { Title: 'jack', Content: str };$.ajax({type: "post",url: "TestHandle.ashx",contentType:"application/json;charset=utf-8",data: JSON.stringify(temp),success: function (data) {$("#div").html(data);}});
后端代码:
string bodyText;using (var bodyReader = new System.IO.StreamReader(context.Request.InputStream)){bodyText = bodyReader.ReadToEnd();}dynamic bodyObj = JsonConvert.DeserializeObject(bodyText);context.Response.ContentType = "text/plain";context.Response.Write(bodyObj.Content);
效果图:
#其他场景的解决方案:
1、aspx页面,当前页面进行form提交
打开当前.aspx页面,页头加上代码:validateRequest=”false”,如:
<%@ Page Language="C#" ValidateRequest="false" AutoEventWireup="false" CodeFile="default.aspx.cs" Inherits="default" %>
该方法不推荐,还有一种修改web.config配置文件的方法,强烈不推荐,就不写在这里了;
2、在ASP.NET MVC中的解决方案
1)、针对某个实体类的单个字段设置 [AllowHtml] ,这样提交的时候,系统就会放过该字段。
2)、前端代码:
var str = '<p><span style="color: #00B0F0;"><em><strong>我想留在你的身边,</strong></em></span><br/></p><p><span style="color: #7030A0;"><strong><span style="text-decoration: underline;">深情款款多么可怜;</span></strong></span></p>';$(function () {$.ajax({type: "post",url: "Home/Test",data: { Title: 'jack', Content: str },success: function (data) {$("#div").html(data.ok);}});});
3)、后端代码:
public class NewInfo{public string Title { get; set; }[AllowHtml]public string Content { get; set; }}
#写在最后
该文只是浅显的总结一下,其中涉及的xss方面,没有详细考虑,欢迎指正!
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
原文地址:https://www.cnblogs.com/willingtolove/p/10923895.html
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
从客户端中检测到有潜在危险的 Request.Form 值的解决方案汇总相关推荐
- “从客户端中检测到有潜在危险的 Request.Form 值“的解决方案汇总
"从客户端中检测到有潜在危险的 Request.Form 值"的解决方案汇总 参考文章: (1)"从客户端中检测到有潜在危险的 Request.Form 值"的 ...
- 勤于思考:从客户端中检测到有潜在危险的 Request.Form 值
在提交表单时候,asp.net 提示:"从客户端(......)中检测到有潜在危险的 Request.Form 值" . asp.net中的请求验证特性提供了某一等级的保护措施防止 ...
- 从客户端中检测到有潜在危险的request.form值
从客户端中检测到有潜在危险的request.form值 今天被这个问题卡住了,在用到CKEDITOR的时候,老是报错显示输入字符存在潜在危险,之后百度了一下,试了这两种方法: 解决方案一: 在 ...
- MVC中提示错误:从客户端中检测到有潜在危险的 Request.Form 值的详细解决方法...
今天往MVC中加入了一个富文本编辑框,在提交信息的时候报了如下的错误:从客户端(Content="<EM ><STRONG ><U >这是测试这...&q ...
- 从客户端...中检测到有潜在危险的 Request.Form 值
在.net中,Request时出现有HTML.Javascript等字符串时,系统会认为是危险值,运行显示"从客户端--中检测到有潜在危险的Request.Form值"这样的错. ...
- 使用Asp.net MVC 2.0 +.NET 4.0 出现 “从客户端 ... 中检测到有潜在危险的 Request.Form 值”错误的解决办法...
我们在用Asp.net 开发 Web Form页面时,通常要提交包含Html内容的数据给后台程序代码处理时,会为页面设置 ValidateRequest="false" 属性,设置 ...
- 从客户端中检测到有潜在危险的 request.form值[解决方法]
当页面编辑或运行提交时,出现"从客户端中检测到有潜在危险的request.form值"问题,该怎么办呢?如下图所示: 下面博主汇总出现这种错误的几种解决方法: 问题原因:由于在as ...
- ASP.Net MVC从客户端中检测到有潜在危险的 Request.Form 值
ASP.NET MVC4(Razor)从客户端中检测到有潜在危险的 Request.Form 值 "/"应用程序中的服务器错误. 从客户端(Content=" sdfd ...
- 从客户端中检测到有潜在危险的 Request.Form 值
从客户端(xxxxxx)中检测到有潜在危险的 Request.Form 值.说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止.该值可能指示危及应用程序安全的尝试,如跨站点的脚本 ...
最新文章
- 传孙正义领投滴滴无人车3亿美元新融资,此前软银宣布出售阿里股份等资产
- UA OPTI570 量子力学34 Harmonic Perturbation简介
- js(Dom+Bom)第四天(1)
- 【Linux】计划任务管理crontab、at
- Ubuntu中的zip / unzip 和 rar / unrar 命令:压缩 / 解压 zip 和 rar 文件
- JanusGraph配置参考大全
- vscode如何配置java环境_VSCode 配置Java环境
- 如何在win7下安装XP系统?
- 常识介绍---什么是rss
- 中国科学院计算机研究所调剂,给计算机复试的jr们一点建议,以及欢迎调剂中科院计算机相关研究所...
- 《天天数学》连载55:二月二十四日
- linux 可视化分区,可视化linux块设备的工具(分区,LVM PV,LV,mdadm设备……)
- 应用在电磁炉触控面板中的电容式触摸芯片
- 我的世界1.12.2java下载_我的世界java版整合包
- 在内部局域网内搭建HTTPs
- Initialization error Could not load .../oci.dll
- 用STM32F103单片机控制电调制动无刷电机
- Gating mechanisms
- LetsEncrypt与Certbot之certbot命令介绍
- 推荐自媒体和文案相关神器(短视频与公众号)