關於介紹和處理請見博客:https://blog.csdn.net/liuyingan/article/details/84914917
以上都是理論說明這個東西 和理論上的處理方式 。。。完事呢,我就用驗證 HTTP Referer 字段 這個方法來貼一段代碼用來做防禦這個入侵(兩個類):
@Configuration
public class WebAppConfig extends WebMvcConfigurerAdapter {
//註冊攔截器
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 註冊攔截器
//靜態資源在springboot2.0以前已經做好映射,不用管 /**指任意範圍都通過攔截
registry.addInterceptor(new SessionInterceptor()).addPathPatterns("/**")
.excludePathPatterns(
"/css/**","/js/**","/fonts/**","/img/**","/docs/**","/druid/**","/upload/**","/files/**","/logfind","/login","/error/**")
;
//.excludePathPatterns代表這些請求不過濾 asserts爲resources下static下的文件夾,webjars則是maven導入的一些前端框架
}
}
@Component
public class SessionInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String referer = request.getHeader("Referer"); //下面這個鏈接寫你自己的項目的鏈接就好
if(StrUtil.isNotBlank(referer)&&!referer.contains("127.0.0.1:8099")){
response.sendRedirect("/error/500");
return false;
}
HttpSession session = request.getSession();
return true;
}
}
完事呢,我比較懶,上面的代碼 也懶得解釋了 ,不知道這個是啥 請見 搜索springboot配置攔截器
有問題的 麻煩看下博客名