背景解释

web系统出现垂直越权的现象,具体表现为,低权限账户登录后,直接请求高权限的接口可以获取数据,原因在于后台并没有实现对接口的权限校验,只是在菜单上简单隐藏。

解决方案

方案一:引入完善的权限框架,例如shiro

方案二:nginx控制reffer,禁止直接访问

配置实例:

location /login.html {
    root        D:\code2\fdmp-pages;
    autoindex on;
    index  index.html;
    }

    location / {
    valid_referers server_names ~.;       ##校验所有请求的reffer 
    if ($invalid_referer) {     ##非法则返回403
    return 403;
    }
    root        D:\code2\fdmp-pages;
    autoindex on;
    index  index.html;
}