XSS —> 核心就是设置cookie的 http only属性,过滤脚本信息。
CSRF —> 也是设置cookie的http only属性,根据referer请求头过滤请求来源,设置表单随机参数token。
SQL注入 —> 过滤恶意参数,比如SQL关键词过滤,预编译处理等。
DDoS攻击 —> 做好限流操作

zuul网关里加一个过滤器,过滤器里面去过滤一些特殊请求的脚本,根据referer请求头过滤,对请求的随机token进行校验,设置可以对参数进行校验,如果参数包含了SQL关键词说明要注入,就要对SQL关键词进行过滤。对IP地址可以进行基于redis的访问计数,比如一个ip地址一秒内连续访问5次,那么就直接禁止访问。
public class MyFilter extends ZuulFilter {@Overridepublic String filterType() {return PRE_TYPE;}@Overridepublic int filterOrder() {return 1;}@Overridepublic boolean shouldFilter() {return true;}@Overridepublic Object run() {RequestContext ctx = RequestContext.getCUrrentContext();HttpServletRequest request = ctx.getRequest();// 拿到所有请求参数// 遍历请求参数,检查是否带有XSS攻击脚本,是否带有SQL注入脚本// 检查请求是否带有随机token参数// 检查请求是否带有referer请求头// 根据ip地址再redis进行计数,防止DDoS攻击return null;}}
