基于html+ajax+restful+soa架构的csrf解决方案

本文介绍了一种基于HTML+AJAX+RESTful+SOA架构下防止CSRF攻击的方法。通过在服务端设置过滤器生成并管理全局唯一的token,并将其存放在cookie及共享内存中,客户端则将此token作为HTTP头部的一部分随请求发送。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是csrf漏洞,请百度一下。本文在网上各位大神的想法的基础上,补充说明基于html+ajax+restful+soa架构的情况下,如果解决csrf漏洞

前提:

1、假设没有xss漏洞;

2、页面统一用html+js,不用jsp


整体采用token验证方式,

①  服务端添加filter。在mapping里配置需要拦截的请求。这个filter负责生成token、向redis集群中(或其他各个服务模块能够同时访问到的共享区域)写token,而不是向各自的session中写token;向cookie中写入token

1)说明生成token用java的uuid就可以了,这个已经足够随机;

2)解释一下“soa”,在我工作的场景中,同时run了两个virgo tomcat(osgi的应用),分别对外提供两种web服务,对于同一个用户来说,这两个服务公用一个token就可以了,不然页面需要针对两个应用暴露出来的接口分别添加token,增加了额外的工作

②  每个用户登录后,Js从cookie获取到token,放到http的header中,作为发送请求共用的header属性

③  发请求不做特殊处理,header中的token自动追加到请求上

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值