全局异常处理拦截非法请求
//非法方式访问接口
if( e instanceof HttpRequestMethodNotSupportedException){
HttpServletRequest request = ServletContextHolder.getRequest();
String method = request.getMethod();
//获取ip
String ip = IpUtil.getIpAddr(request);
//获取浏览器
UserAgent userAgent = UserAgent.parseUserAgentString(request.getHeader("User-Agent"));
//请求地址
String requestPath = getRequestPath(request);
//操作时间
Date createTime = new Date();
new Thread(()->{
//获取ip地址
String ipLocation = IpLocationUtil.getIpAddress(ip);
// 获取客户端浏览器
String browser = userAgent.getBrowser().getName();
// 获取客户端操作系统
String os = userAgent.getOperatingSystem().getName();
//记录非法访问log
log.error("非法请求:" +
"\r\n请求路径:{}" +
"\r\n请求方法:{}" +
"\r\n请求IP:{}" +
"\r\n请求地址:{}" +
"\r\n浏览器:{}" +
"\r\n操作系统:{}", requestPath, method, ip, ipLocation, browser, os);
}).start();
return new Result(StatusEnum.NOT_METHOD);
}else if( e instanceof ClientAbortException){
//客户端异常断开
return new Result(StatusEnum.CLIENT_ABORT_EXCEPTION);
}