springboot 数据防篡改
假设用户下订单,第三方拦截请求,把订单中商品id做了修改(保证最终价格不变),然后用户核算订单时,第三方也做请求拦截,让用户看到的是符合预期的详情,这样用户下单交钱后,等到收货时发现不是自己买的东西。
就这种数据的篡改,应该如何应对?
比如一些无关紧要的数据,是否可以不去管,只对一些和钱有关的做严格验证?
然后怎么去验证?把请求的url和参数列表做签名,后端验证?
做签名的话一般需要密钥,如果是web端或app端,密钥如何下发?写死到应用里吗?
有没有啥好的方案或做法?
回答:
HTTPS 学习一下:HTTPS是如何保证安全的
回答:
比较简单的办法是增加mac(message authtication code),和数据一起传递。数据到达后以同样的方式处理一下,如果和mac 一样,说明未被修改。当然ssl 协议也可以,这种数字签名的方式还能防止抵赖,mac 属于一种简单方便的防篡改的方式。
回答:
签名的话,不一定需要你使用秘钥,请求方和接口使用同一种签名算法,直接比较签名值就行了!遇到好多那种直接明文拼接然后取md5值的,难道你还想它还原嘛?
以上是 springboot 数据防篡改 的全部内容, 来源链接: utcz.com/p/944534.html