Spring Security Web 应用遇到了 RequestRejectedException 怎么办 ?

在我们使用Spring Security开发Spring MVC应用时,有的时候会遇到RequestRejectedException,这时候应该怎么办呢 ?

实际上,RequestRejectedExceptionSpring Security的防火墙机制抛出的。如果遇到了该异常,开发人员可以从以下几个方面检查是否存在问题 :

  1. 请求路径中是否包含./,/../,/.等字符串序列,这些字符串序列会被认为是有安全问题的,从而导致该异常;
  2. 请求路径中是否包含连续的两个斜杠//(除了协议部分的//之外),该字符串序列也会导致该异常;

    如果请求路径是浏览器端代码拼装出来的,这个问题可能会经常出现,此时开发人员应该是没有恶意的,但Spring Security防火墙并不能识别这一点,所以一样会拒绝该请求。所以开发人员需要在这里多加留意。否则会可能增加不少开发调试成本。

  3. 如果请求路径中包含不可打印ASCII字符则会抛出该异常拒绝该请求;
  4. 如果请求URL(无论是URL编码前还是URL编码后)包含了分号(;或者%3b或者%3B)则会抛出该异常拒绝该请求;
  5. 如果请求URL(无论是URL编码前还是URL编码后)包含了斜杠(%2f或者%2F)则会抛出该异常拒绝该请求;
  6. 如果请求URL(无论是URL编码前还是URL编码后)包含了反斜杠(\或者%5c或者%5B)则会抛出该异常拒绝该请求;
  7. 如果请求URLURL编码后包含了%25(URL编码了的百分号%),或者在URL编码前包含了百分号%则会抛出该异常拒绝该请求;
  8. 如果请求URLURL编码后包含了URL编码的英文句号.(%2e或者%2E)则会抛出该异常拒绝该请求。
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值