有时候我们在项目中出于安全考虑有些ajax的异步请求接口是不希望人为的去调用的,只允许项目自己在程序中访问。虽然说现在有很多的安全权限框架都能实现这些。但是不排除一些开放式类型的网站其实在很多场景中可能并用不到这些权限框架。
所以…在框架大行其道的时代,我讲一种返璞归真的方式实现站外非法请求的拦截。
结果:就算打开F12拿到你的接口地址,去postman或者浏览器地址栏调用,请求一律会被拦截无法获取到接口的数据,只有程序自己内部的调用是OK的
话不多言,上代码!!!
编写拦截器
/**
* 拦截站外请求过滤器
*/
public class ExteriorRequestHandlerInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String requestStr = request.getHeader("referer");
if (<