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

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

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

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

4年前 评论
讨论数量: 13

那拿到什么才有用呢?

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

谁都不让用呗 :flushed:

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

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

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

https 不够安全 什么安全

4年前 评论
celaraze

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

那我如何才能进这扇门?

4年前 评论
cnguu

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

4年前 评论

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

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

签名

4年前 评论

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

4年前 评论
DonnyLiu

用 https 就完事了

4年前 评论

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

4年前 评论
Code_Er

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

4年前 评论