在tomcat级别处理“无效的十六进制字符”

时间:2019-05-21 13:19:36

标签: rest tomcat utf-8 character-encoding

正在对URL卫生进行一些系统测试。因此,我尝试使用垃圾数据来处理API。示例

http://ipaddress/AppContext/api1?query=%S%n%n%s

如果我调用此API,则我的日志将引发异常'Invalid HEX character in escape sequence %n'

如何在tomcat级别捕获此错误并抛出400 bad request

1 个答案:

答案 0 :(得分:0)

你不能。

Tomcat不会解码查询字符串,直到应用程序请求一个或多个参数。最好的办法是编写一个过滤器,该过滤器始终在主请求处理之前尝试访问查询字符串,如果引发异常,则返回400响应。