WebAPI.请求(Request)的参数(Parameter)里包含特殊字符(#等)的正确处理方式 从客户端xx中检测到有潜在危险的Request.Form值
2024-08-27 19:13:53
事故现场
报错"从客户端 中检测到有潜在危险的Request.Form值"
//后台代码
namespace Test
{
[RoutePrefix("TestClass")]
[EnableCors("*", "*", "*")]
public class TestClassController
{ [HttpGet]
[Route("GetByName/{userId}/{userName}")] public string GetByName(int userId ,string userName ="")
{
return null;
}
}
}
//前台代码
//注意userName含有特殊符号
$.ajax({url:"http://api.test.com/TestClass/GetByName/0/encodeURIComponent(':#@#')",async:false});
解决方案.Mine
修改为
$.ajax({url:"http://api.test.com/TestClass/GetByName/0?userName=encodeURIComponent(':#@#')",async:false});
总结.
.如果请求(Request)的参数(Parameter)里包含特殊字符,记得将参数值编码
encodeURIComponent(SPECIAL_VALUE)
.如果含有特殊符号的,比如":",你放到了路径上,
你编码应该也不好使.那就将含有特殊符号的,别放到路径上,
可以放到?的参数上进行传递...
解决方案.Other
可以通过将验证模式设置为ASP.NET之前的版本。
具体步骤是在web.config中加入以下配置: <httpRuntime requestValidationMode=”2.0″ /> 设置了请求模式后,再设置 <system.web>
<pages validaterequest=”false”/>
</system.web>
MVC框架中,在控制方法前加入: [ValidateInput(false)]属性。
扩展:
.NET Web API 路由与URL的困惑...(如果将参数放到路径上,例如:http://www.baidu.com/getById/1,那么这个"1"是参数还是路径呢?)我还专门去搜了下URL组成部分...
参考:
2.请求(Request)的参数(Parameter)里包含特殊字符(#等)的正确处理方式
x
最新文章
- JavaScript中数组去除重复
- javascript冒泡排序一些新实现
- App_Data 目录中的数据库位置指定了一个本地 SQL Server
- log4net配置文件设置
- 关于django post表单
- BroadCastReceiver相关知识--读书笔记
- hdu 4763 Theme Section(KMP水题)
- MySQL定时检查是否宕机并邮件通知
- 打印机PCL漏洞原理分析
- hbase importtsv
- [Android学习笔记]Android中多线程开发的一些概念
- 【Python3爬虫】猫眼电影爬虫(破解字符集反爬)
- JAVA第一周学习
- 爬虫 -----爬取百度时事热点和url
- C/C++中的函数指针的使用与总结
- Google常用脚本
- Python tkinter 控件更新信息
- 2018.09.06 警卫安排(树形dp)
- html5小结
- I.MX6 linux kernel编译错误处理
热门文章
- node基础学习——操作文件系统fs
- Matplotlib:mpl_toolkits.mplot3d工具包
- Caused by: org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): com.qingmu.seller.entity.OrderMaster
- 使用mybatis框架实现带条件查询-单条件
- Django API接口FK ManyTo Many 模板
- react基本语法及组件
- UFUN函数 UF_CFI函数(uc4504,uc4540,uc4514,uc4547,UF_CFI_ask_file_exist )
- java之大文件分段上传、断点续传
- ssh集成
- Tomcat启动服务报错:Unknown version string [4.0]. Default version will be used.