tomcat6url请求400错误(%2F与%5C)

最近几天,开发接口时,tomcat报了400错误,查了下原因。

错误原因:url中参数部分包含/,默认tomcat是不支持url参数包含: /(%2F),\(%5C)。

解析方法:可以通过添加配置Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true

方法1:修改配置文件,tomcat6/conf/catalina.properties文件添加一行Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true

方法2:添加启动参数,-Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true

不过从apache官网上看,这个配置项属于Security组,不知开启后会有怎么样的风险?有知道的前辈请指教~

官方说明:  http://tomcat.apache.org/tomcat-6.0-doc/config/systemprops.html#Security

时间: 2024-10-06 22:14:00

tomcat6url请求400错误(%2F与%5C)的相关文章

get请求400错误,post请求405错误

get请求400错误,post请求405错误 (2016-08-31 17:19:27) 转载▼     出现错误原因,后台接收参数part使用的是List,参数的属性对不上,传参使用的类型是String,改为post请求之后才发现 此种错误再次发生,确实是后台接受参数类型和前台所传类型不符,导致400错误 附上错误对应 400 - 错误的请求. ·401 - 访问被拒绝.IIS 定义了许多不同的 401 错误,它们指明更为具体的错误原因.这些具体的错误代码在浏览器中显示,但不在 IIS 日志中

HTTP 400 错误 - 请求无效 (Bad request)

在ajax请求后台数据时有时会报 HTTP 400 错误 - 请求无效 (Bad request);出现这个请求无效报错说明请求没有进入到后台服务里: 原因:1)前端提交数据的字段名称或者是字段类型和后台的实体类不一致,导致无法封装: 2)前端提交的到后台的数据应该是json字符串类型,而前端没有将对象转化为字符串类型: 解决方案: 1)对照字段名称,类型保证一致性 2)使用stringify将前端传递的对象转化为字符串    data: JSON.stringify(param)  ;

F5 iRules-----http请求400/500错误时,重置

#  400/500错误重试 # #当服务返回400/500状态且当前pool中有存活的node重置http请求,并重新选择pool中的node. #直到返回正常代码或者轮询完所有存活node后,接受新的http请求 when CLIENT_ACCEPTED { set retry 0 } when HTTP_REQUEST { set http_request [HTTP::request] } when HTTP_RESPONSE { if { ([HTTP::status] starts_

解决YII提交POST表单出现400错误,以及ajax post请求时出现400问题

POST表单400错误: 正确做法: Add this in the head section of your layout: <?= Html::csrfMetaTags() ?> ---------------------------------  不推荐的做法,以下做法是取消CSRF令牌验证: Add this in your controller: public $enableCsrfValidation = false; 别的方法: 原来是csrf验证的问题,因为表单是自己写的,在Y

iOS WebService Soap 请求遇到服务器400错误

由于参数过多,服务器采用url参数的方式传递数据(a=x&b=x),但是遇到服务器400错误,后来发现了原因,是由于url中包含了如:&这些特殊字符. 因为Soap是xml数据请求方式,&是xml的非法字符,所以就报400错误了,这时需要转义&,将&换成&就可以可以了. 字符转义参见篇文章:http://blog.csdn.net/assholeu/article/details/41649615

ajax请求出现400错误

ajax请求出现400错误,如题.百度了只有两种情况,一个参数错误,二是所谓的参数过长. 因为我传递的base64的图片参数,很长.刚开始以为是这个原因.后来发现不是,原因是参数错误.freemaker模板的long类型参数没有进行转换,以至于前端取值时,中间有逗号. 所以,遇到此问题时首要是看你 的参数. 原文地址:https://www.cnblogs.com/zeussbook/p/9828765.html

post数据时报错:远程服务器返回错误: (400) 错误的请求。

网上查了多种方法,有不少说法,报400说是传的数据格式不对,最后的结论确实是数据格式不对. Content_Type为:application/json,配的数据格式有些麻烦,特别数多层,单层还好.例如,我本传的数据是这个的json: { "key1": { "key11": "value11", "key12": "value12" }, "key2": "value2&qu

Yii2请求,报400错误

出现400错误是yii2.0的csrf防范策略导致 在components里面添加request配置如下: 'request' => [ // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation 'cookieValidationKey' => '83r5HbITBiMfmiYPOZFdL-raVp4O1VV4', 'enableCookieValid

记一次400错误引发的血案(URL中特殊符号的转义/400 bad request错误)

django+nginx+uwsgi部署的站点访问某个URL时发生了400 bad request的错误,而使用django自带的开发版的web server时没有遇到此问题.初步判断是nginx或uwsgi配置问题. 网上有说是因为request header过大而nginx配置的client_header_buffer_size和large_client_header_buffers过小引起的,但就当前的状态来看感觉不太可能.因为request header并不是特别大.至于是别的什么原因还