Browse Source

适配dashboard的nginx转发

zhc
review512jwy@163.com 1 week ago
parent
commit
ab54446925
  1. 19
      data-center-business-controller/src/main/java/com/techsor/datacenter/business/configurator/CrosXssFilter.java

19
data-center-business-controller/src/main/java/com/techsor/datacenter/business/configurator/CrosXssFilter.java

@ -51,11 +51,23 @@ public class CrosXssFilter implements Filter {
HttpServletRequest httpRequest = (HttpServletRequest) request;
String referer = httpRequest.getHeader("Referer");
if (StringUtils.isNotBlank(referer) && !"*".equals(accessControlAllowOrigin)
&& !referer.startsWith(accessControlAllowOrigin)) {
if (StringUtils.isNotBlank(referer) && !"*".equals(accessControlAllowOrigin)) {
// 允许多个域名,逗号分隔
String[] allowedOrigins = accessControlAllowOrigin.split(",");
boolean matched = false;
for (String origin : allowedOrigins) {
origin = origin.trim();
if (StringUtils.isNotBlank(origin) && referer.startsWith(origin)) {
matched = true;
break;
}
}
// 如果一个都不匹配,则返回 403
if (!matched) {
httpServletResponse.sendError(HttpServletResponse.SC_FORBIDDEN, "Invalid Referer");
return;
}
}
httpServletResponse.setHeader("Cache-Control", "no-store, no-cache, must-revalidate, max-age=0");
@ -94,9 +106,6 @@ public class CrosXssFilter implements Filter {
httpServletResponse.setHeader("Access-Control-Allow-Origin", accessControlAllowOrigin);
httpServletResponse.setHeader("Access-Control-Allow-Credentials", "true");
// 修复 X-XSS-Protection 问题
httpServletResponse.setHeader("X-XSS-Protection", "1; mode=block");
if ("OPTIONS".equals(((HttpServletRequest) request).getMethod())) {

Loading…
Cancel
Save