URL参数中中括号[]报错

816 阅读1分钟

今天发现前台拿到后台返回值,请求统一错误业务时,由于参数中还有[]导致报错,后台报错为在请求目标中找到无效字符。有效字符在RFC 7230和RFC 3986中定义

查看url规范时发现这个字符其实是允许的

tomcat按照RFC 3986规范解析地址。该规范只允许包含  a-zA-Z  0-9  -  _    .  ~  以及所有保留字符  ! * ’ ( ) ; : @ & = + $ , / ? # [ ]

但是需要在tomcat中配置一下,才可以

具体路径在conf/server.xml文件 找到对应的服务端口,加上relaxedPathChars="|{}[],%" relaxedQueryChars="|{}[],%"

image.png

为了安全起见,涉及到错误提示时还是使用中文下的括号靠谱【】