安全通道以及防止跨站请求伪造

一.

HTTP提交是一个风险极大的事,所以用HTTPS加密运输可以保护用户信息的安全。

在configre的HttpSecurity对象提供了一个方法,requiresChannel()方法,借助这个方法,可以为各种url提供要求的通道。

如果想用https的通道

.requiresChannel
.antMatchers("/").requiresSecure()

如果还是想用http传送

.requiresChannel
.antMatchers("/").requiresInecure()


二.

跨站请求伪造也是CSRF攻击。为了防止攻击,security通过一个同步的token的方式实现防护

它会拦截状态变化的请求,并检查CSRF token。如果请求中不包含CSRF token的话,或者token和服务器的不匹配

那么请求就失败,抛出CsrfExceotion异常

解决方法:要在页面中添加一个隐藏域

如果在Thymeleaf中   用

<form method="POST" th:action="@{spite}">

在action中应用Thymeleaf的命名空间就会自动生成一个隐藏域

如果在JSP中的话

<input type="hidden" 
name="${_csrf.parameterName}"
value="${_csrf.token}"  />

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值