管理平台的安全对一个系统来说很重要,为了防止黑客攻击,需要注意一下问题:
1.访问链接注入问题,此种问题的特点是,不法分子通过修改访问链接达到某些目的,比如盗取用户cookie.
解决办法是:过滤访问链接中的特殊字符,如果访问链接中包含如下非法字符则阻止其访问.
; ' " <> () , \ script svg alert confirm prompt onload onmouseover onfocus onerror xss
2.普通用户登录后,通过修改cookie就可以做一些超级管理员才能做的操作.
解决办法是:增加cookie认证.
3.csrf跨站请求伪造问题.
解决办法:增加referer校验
String referer = ((FilterInvocation) obj).getHttpRequest().getHeader("referer"); log.info("请求来源:{}",referer); if (!referer.contains(EncryptPropertyPlaceholderConfigurer.getStrPro(Constant.HOST_URL))) { log.info("请求来自非信任网站,拒绝访问:{},referer:{}",FullRequestUrl,referer); returnCollection.add(new SecurityConfig("ROLE_NO_USER")); return returnCollection; }
Constant.HOST_URL值为网站的访问域名,比如你在baidu网页上打开taobao网页,请求到后台的referer就是:http://www.baidu.com,
一般设置为管理平台的访问域名即可.
4.密码加密传输
详见博文:https://blog.csdn.net/locat_csdn/article/details/86071805
5.密码爆破问题(暴力破解)
增加密码输入错误次数统计及限制即可.