java防止横向越权得方法_横向越权纵向越权安全漏洞的解决

一.什么是横向越权和纵向越权.1.横向越权:攻击者想访问与他权限相同的用户,例如:在忘记密码回答问题成功后,会跳到重设密码的页面,这个时候如果用户随意填用户名和密码,而且数据库也刚刚好存在这个用户时,那么就会修改其他用户的密码,这就是横向越权2.纵向越权:低级别攻击者想访问高级别用户的资源。二.怎么解决1.横向越权:在回答问题时,成功的时候,会在服务端根据用户名生成一个token(随机数和用户名的...
摘要由CSDN通过智能技术生成

一.什么是横向越权和纵向越权.

1.横向越权:攻击者想访问与他权限相同的用户,例如:在忘记密码回答问题成功后,会跳到重设密码的页面,这个时候如果用户随意填用户名和密码,而且数据库也刚刚好存在这个用户时,那么就会修改其他用户的密码,这就是横向越权

2.纵向越权:低级别攻击者想访问高级别用户的资源。

二.怎么解决

1.横向越权:在回答问题时,成功的时候,会在服务端根据用户名生成一个token(随机数和用户名的映射)保存在本地缓存里,具体如下:

1  //这段代码是在检查回答问题的答案的接口里面的,也就是在回答问题时生成这个token,标志这个用户名

String forgetToken =UUID.randomUUID().toString();2 TokenCache.setKey(TokenCache.TOKEN_PREFIX+username,forgetToken);3 return ServerResponse.creatBySuccess(forgetToken);

这里使用Guaua本地缓存,用来保存token,这个token会定期失效具体代码如下:

public class TokenCache {

//前缀

public static final String TOKEN_PREFIX = "token_";

private static Logger logger= LoggerFactory.getLogger(TokenCache.class);

private static LoadingCache localCache =

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值