소스 검색

修改对 referer 的检测

reghao 2 년 전
부모
커밋
ae30f67ddd
1개의 변경된 파일2개의 추가작업 그리고 20개의 파일을 삭제
  1. 2 20
      oss-store/src/main/java/cn/reghao/oss/store/inerceptor/AccessLogInterceptor.java

+ 2 - 20
oss-store/src/main/java/cn/reghao/oss/store/inerceptor/AccessLogInterceptor.java

@@ -22,14 +22,6 @@ import java.util.List;
 @Slf4j
 @Component
 public class AccessLogInterceptor implements HandlerInterceptor {
-    private final List<String> list = List.of(
-            "https://bili.reghao.cn/",
-            "https://admin.reghao.cn/",
-            "https://disk.reghao.cn/",
-            "https://blog.reghao.cn/",
-            "https://file.reghao.cn/",
-            "https://account.reghao.cn/");
-
     @Override
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
         String uri = request.getRequestURI();
@@ -49,8 +41,8 @@ public class AccessLogInterceptor implements HandlerInterceptor {
         String objectName = uri.replaceFirst("/", "");
         if (objectName.startsWith(UploadChannel.img.getPrefix())) {
             return true;
-        } else if (referer == null || !hasPrefix(referer)) {
-            log.info("request {} from {}", uri, referer);
+        } else if (referer == null || !referer.contains("reghao.cn")) {
+            log.error("request object {} from {} has been blocked", uri, referer);
             response.setStatus(403);
             return false;
         }
@@ -58,16 +50,6 @@ public class AccessLogInterceptor implements HandlerInterceptor {
         return true;
     }
 
-    private boolean hasPrefix(String referer) {
-        for (String prefix : list) {
-            if (referer.startsWith(prefix)) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
     @Override
     public void postHandle(HttpServletRequest request, HttpServletResponse response,
                            Object handler, @Nullable ModelAndView modelAndView) throws Exception {