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

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

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

接口内容按照约定好的方式加密,做非对称的思路,比如通过 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年前 评论

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