SpringBoot项目[禁止OPTIONS等不安全的请求]增加OPTIONS不安全请求处理
171 字
1 分钟
SpringBoot项目[禁止OPTIONS等不安全的请求]增加OPTIONS不安全请求处理
测试方法
cur1 -v -X OPTIONS 地址 例:cur1 -v -X OPTIONS http://127.0.0.1/proms/
通过Filter进行处理
- 增加filter处理器(如果项目中有,可直接复制替换)
/** * @author XK */@Componentpublic class XssFilter implements Filter {
@Override public void init(FilterConfig config) throws ServletException { }
@Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { XssHttpServletRequestWrapper xssRequest = new XssHttpServletRequestWrapper( (HttpServletRequest) request); HttpServletResponse httpServletResponse = (HttpServletResponse) response; //这里填写你允许进行跨域的主机ip httpServletResponse.setHeader("Access-Control-Allow-Origin", "*"); //允许的访问方法,* 代表全部可以访问 httpServletResponse.setHeader("Access-Control-Allow-Methods", "POST, GET");
//Access-Control-Max-Age 用于 CORS 相关配置的缓存 httpServletResponse.setHeader("Access-Control-Max-Age", "3600"); httpServletResponse.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept,token");
if ("OPTIONS".equalsIgnoreCase(((HttpServletRequest) request).getMethod())){ ((HttpServletResponse) response).setStatus(HttpServletResponse.SC_METHOD_NOT_ALLOWED); ServletOutputStream outputStream = response.getOutputStream(); outputStream.write(new String("不安全的请求".getBytes(),"utf-8").getBytes()); outputStream.flush(); } chain.doFilter(xssRequest, httpServletResponse); }
@Override public void destroy() { }
}文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
SpringBoot项目[禁止OPTIONS等不安全的请求]增加OPTIONS不安全请求处理
https://czxcly.cn/posts/springboot项目禁止options等不安全的请求增加options不安全请求处理/ 相关文章 智能推荐
1
SpringBoot集成QQ邮箱发送邮件
技术文章 SpringBoot集成QQ邮箱发送邮件
2
多模块项目公共类配置文件加载方法
技术文章 多模块项目公共类配置文件加载方法
3
ConfigurationProperties无法将yml或properties中的内容读取到bean解决方法
技术文章 ConfigurationProperties无法将yml或properties中的内容读取到bean解决方法
4
springboot-jar包启动提示没有主清单属性
技术文章 springboot-jar包启动提示没有主清单属性
5
彻底卸载谷歌浏览器残留
其它教程 彻底卸载谷歌浏览器残留
随机文章 随机推荐