WEB前后端分离项目,该如何保证安全性?

JWT,passport,好像都不行。
有没有那种就算拿到token也没用的鉴权方法

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

接口内容按照约定好的方式加密,做非对称的思路,比如通过 user_id 参与 signature 和密文生成,这样做的话不同用户、不同请求路径、不同请求体,加密出来结果都不一样,哪怕拿到了 token 也无法做实际操作。 如果还想防重放,做下时间同步,然后往 signature 加一个时间戳,做时效检查。

3年前 评论
讨论数量: 13

那拿到什么才有用呢?

3年前 评论
worriend (楼主) 3年前

谁都不让用呗 :flushed:

3年前 评论
worriend (楼主) 3年前

用https就行了 没有什么好方案

3年前 评论
worriend (楼主) 3年前

https 不够安全 什么安全

3年前 评论
celaraze

拿到token也没用?意思我钥匙给了你你也开不出门?

那我如何才能进这扇门?

3年前 评论
cnguu

网络无安全可言,你只能提高开门门槛,想一下为什么 token 有时效性,参考下微信授权,二维码支付又是如何做的

3年前 评论

接口加签名,判断sign的签名时间戳,极端点搞个10秒有效期,那样他复制到postman就过期了,我瞎说的。

3年前 评论
worriend (楼主) 3年前
tiansai (作者) 3年前

签名

3年前 评论

接口内容按照约定好的方式加密,做非对称的思路,比如通过 user_id 参与 signature 和密文生成,这样做的话不同用户、不同请求路径、不同请求体,加密出来结果都不一样,哪怕拿到了 token 也无法做实际操作。 如果还想防重放,做下时间同步,然后往 signature 加一个时间戳,做时效检查。

3年前 评论
DonnyLiu

用https就完事了

3年前 评论

参考微信支付接口 :joy:

3年前 评论

参考支付宝微信的支付接口,签名,公钥私钥域名白名单之类的

3年前 评论
Code_Er

没有绝对安全的 只能说相对

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!