授权吊销:让「置为失效」真的生效
- 授权码是离线签名的,签发出去后发证方原本没有任何通道能让它立即失效 —— 后台那个「置为失效」以前只改官网自己的记录,所以会出现"我在官网取消了,人家那儿还照用"
- 新增吊销名单:发证方对外提供一份由私钥签名的名单,客户站拉下来、用内置公钥验签、 存本地快照,验授权时查这份快照
- 后台「站点授权」页新增吊销名单状态与「立即同步」按钮;打开该页会自动同步(6 小时最多一次), 长期不进后台的站点可以挂一条定时任务
- 对外接口只输出授权码的 sha256,不输出授权码本身、不输出域名;整份载荷由私钥签名,验签不过一律不采用
- 如实说明的限度:拉不到名单时按上次的快照判断,站点照常可用 —— 这是刻意的取舍, 否则发证方一宕机所有站点跟着停。所以"置为失效"是最迟在下一次同步后生效,不是实时的
修掉两处会误伤真人的判断
- 修复:评论与留言的"提交过快"判据拿访客的钟去减服务器的钟 —— 只要访客的电脑比服务器快几秒,耗时就成了负数,真人一次也提交不了,提示还是"提交过快"。 现在时间戳由服务器渲染、服务器校验,同一个钟量两次
- 修复:后台「站点授权」在未开启校验时顶着绿色横幅写"已授权 / 校验通过", 而那一台其实没有校验过任何东西。现在明确显示「未启用校验」
- 修复:评论区的一次性提示浮层被顶部导航盖住,提示看不见、关闭按钮点不动
- 修复:评论框的令牌用占位符替换后,页面缓存判断仍然认定"含令牌",导致文章页全部不再缓存 (静默失效,只看日志看不出来)