0. 跨站点脚本编制

alt

这个其实服务端解决的,前端我去过滤url并无卵用,因为我们的系统接入了网关系统,最初客户端浏览器通过URL进入的肯定是网关层。

1. 跨站点请求伪造(CSRF)

alt

图解csrf

alt

解决方法

1.验证HTTP Referer ;

2.在请求地址中添加token;

3.在HTTP 头中自定义属性并验证;

4.Chrome浏览器端启用SameSite cookie (51版本后支持)

2. HTTP 动词篡改的认证旁路

alt

解决方法

在过滤器限制请求方式


    if(!"GET".equals(method)&&!"POST".equals(method)&&!"HEAD".equals(method)){
            response.setContentType("text/html;charset=GBK");
            response.setCharacterEncoding("GBK");
            response.setStatus(403);
            response.getWriter().print("<font size=6 color=red>对不起,您的请求非法,系统拒绝响应!</font>");
            return;

     }else{

     }