| | |
| | | public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain)
|
| | | {
|
| | | ServerHttpRequest request = exchange.getRequest();
|
| | | // xss开关未开启 或 通过nacos关闭,不过滤
|
| | | if (!xss.getEnabled())
|
| | | {
|
| | | return chain.filter(exchange);
|
| | | }
|
| | | // GET DELETE 不过滤
|
| | | HttpMethod method = request.getMethod();
|
| | | if (method == null || method.matches("GET") || method.matches("DELETE"))
|
| | | if (method == null || method == HttpMethod.GET || method == HttpMethod.DELETE)
|
| | | {
|
| | | return chain.filter(exchange);
|
| | | }
|
| | |
| | | // 防xss攻击过滤
|
| | | bodyStr = EscapeUtil.clean(bodyStr);
|
| | | // 转成字节
|
| | | byte[] bytes = bodyStr.getBytes();
|
| | | byte[] bytes = bodyStr.getBytes(StandardCharsets.UTF_8);
|
| | | NettyDataBufferFactory nettyDataBufferFactory = new NettyDataBufferFactory(ByteBufAllocator.DEFAULT);
|
| | | DataBuffer buffer = nettyDataBufferFactory.allocateBuffer(bytes.length);
|
| | | buffer.write(bytes);
|