feat: 新增 SaFirewallCheckHookForHost host 检测 hook

This commit is contained in:
click33
2025-02-27 09:50:12 +08:00
parent 80789607fd
commit e469b76681
13 changed files with 158 additions and 14 deletions

View File

@@ -27,7 +27,10 @@ import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.*;
import java.util.Collection;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 对 SaRequest 包装类的实现Jakarta-Servlet 版)
@@ -171,6 +174,14 @@ public class SaRequestForServlet implements SaRequest {
return request.getMethod();
}
/**
* 查询请求 host
*/
@Override
public String getHost() {
return request.getServerName();
}
/**
* 转发请求
*/

View File

@@ -27,7 +27,8 @@ import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.web.server.ServerWebExchange;
import org.springframework.web.server.WebFilterChain;
import java.util.*;
import java.util.Collection;
import java.util.Map;
/**
* 对 SaRequest 包装类的实现Reactor 响应式编程版)
@@ -170,6 +171,14 @@ public class SaRequestForReactor implements SaRequest {
return request.getMethod().name();
}
/**
* 查询请求 host
*/
@Override
public String getHost() {
return request.getURI().getHost();
}
/**
* 转发请求
*/

View File

@@ -27,7 +27,8 @@ import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.web.server.ServerWebExchange;
import org.springframework.web.server.WebFilterChain;
import java.util.*;
import java.util.Collection;
import java.util.Map;
/**
* 对 SaRequest 包装类的实现Reactor 响应式编程版)
@@ -170,6 +171,14 @@ public class SaRequestForReactor implements SaRequest {
return request.getMethod().name();
}
/**
* 查询请求 host
*/
@Override
public String getHost() {
return request.getURI().getHost();
}
/**
* 转发请求
*/

View File

@@ -27,7 +27,10 @@ import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.*;
import java.util.Collection;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 对 SaRequest 包装类的实现Servlet 版)
@@ -170,6 +173,14 @@ public class SaRequestForServlet implements SaRequest {
return request.getMethod();
}
/**
* 查询请求 host
*/
@Override
public String getHost() {
return request.getServerName();
}
/**
* 转发请求
*/

View File

@@ -20,7 +20,8 @@ import cn.dev33.satoken.context.model.SaRequest;
import cn.dev33.satoken.util.SaFoxUtil;
import org.noear.solon.core.handle.Context;
import java.util.*;
import java.util.Collection;
import java.util.Map;
/**
* @author noear
@@ -107,6 +108,11 @@ public class SaRequestForSolon implements SaRequest {
return ctx.method();
}
@Override
public String getHost() {
return ctx.uri().getHost();
}
@Override
public Object forward(String path) {
ctx.forward(path);