web开发过程当中,安全隐患问题不容忽视。java
本文介绍常见的安全问题及防御措施web
登陆认证模块提供防暴力破解机制后端
屡次更换不一样用户名密码尝试登陆api
生物智能手段,主要防御措施以下:安全
屡次获取验证码而且登陆失败,且还在持续尝试登陆服务器
连续获取验证码、登陆5次失败后,帐号锁定15分钟
本条防护措施应该和生物智能手段联用,防御效果更加markdown
当前登陆用户访问了不属于本身菜单权限的页面cookie
对于每个须要受权访问的页面都必须核实用户的访问标识是否容许。 用户是否被受权去某个页面操做,防止URL越权 Vue-路由守卫处判断拦截session
用户登陆后,后端返回的口令直接保存,并在下一次请求时直接传输。此时若是是正经常使用户访问目标服务器,是没有任何问题的。若是攻击者拿到口令尼,攻击者将有和被攻击者一样的身份权限去访问目标网站接口。框架
用户登陆后保存sessionId在localstoage或者cookie中,再去请求接口时须要加密登陆口令后再传输,不能直接拿原始sessionId请求,访问api越权操做
垂直越权是一种“基于URL的访问控制”设计缺陷引发的漏洞,又叫作权限提高攻击。
攻击者在得到低权限用户帐户后,利用一些方式绕过权限检查,访问或者操做其余用户或者更高权限
水平越权访问是一种“基于数据的访问控制”设计缺陷引发的漏洞。
攻击者在得到目标网站登陆用户登陆信息后,利用数据校验漏洞访问了其余权限等级用户的数据信息。
java选用工业级的处理方式-shiro框架应用
常见的引起XSS攻击,白名单过滤
在用户登陆后返回一个 签名(sign),这个签名是依靠uid生成的。都返回给客户端保存在cookie中,
接口加统一拦截,校对uid和sign,若是正确正常返回接口,若是不正确,返回您正在进行违规操做
日志和安全表面来看,好像关系不大。
可是一旦由于安全问题产生垃圾数据时,日志的做用就会无限放大。
经过日志记录能够分析出什么时候、何人、何地作了什么操做,对咱们后期删除垃圾数据、恢复异常数据来说,意义重大。
安全问题对于web应用开发来讲,避无可避。
问题出现的方式层出不穷,可是只要掌握了核心的处理思路就会事半功倍。
下图是笔者整理的安全攻防策略图:
欢迎各位读者指出错误的地方,留言讨论。