SpringBoot前后端分离API接口怎么保证API接口的安全性?

前端用vue写的,直接放在nginx下面后端使用SpringBoot作为服务端提供API接口给前端访问,

前端分为公共访问页面和登录后访问页面。登录后访问的可以使用JWT进行接口鉴权。但是没有登录的情况如何保护接口不被恶意的调用?

解决:通过请求request来获取ip.记录ip请求次数到redis缓存.当ip请求频率过高时,屏蔽该ip