Veneris

Veneris

V2EX 第 296712 号会员,加入于 2018-03-05 13:48:07 +08:00
1 G 74 S 79 B
根据 Veneris 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
Veneris 最近回复了
我的遗体会捐给医院或学校,前几年母亲罹患乳腺癌,恶性,多亏了现代医学和负责的医生,目前恢复的很好。
没什么能力能为医学做贡献,只能希望躯壳还能发挥余热,可能能多拯救几个人呢?
4 天前
回复了 bearwithme 创建的主题 问与答 如何保证看到网站最新部署的修改?
或许是 CDN 的问题?
对于大多数业务场景来说,业务有限,但仍不建议在 docker 中跑,docker 适合跑需要横向扩展得无状态的服务
这个功能都很多年了感觉,拖动到最下删除挺方便的,当然也可以点图片进入编辑页之后,右上角也能删除,你想要的应该是每个缩略图上都带个删除吧,感觉不太适合多图场景
@luzhh #14 需要在医院吃辣给医生看看吗,再问一下这个药是喷过以后就好了不用喷了还是得一直喷,谢谢
我倒不是一点辣不能吃,但是稍微到了中辣就这样,而且涕泗横流。。。
@LeeReamond #10 以我们当时的业务来说,没这么多第三方调用,加上一般这种时间戳会要求 10s ,不会说客户端和服务器时差 3 分钟还允许调用,所以 redis 其实压力不大,但我也不知道大厂的这种业务是什么架构,只是说实现了一样的功能
@Richard14 #8 可以把这几个参数拼接成 key ,签名为 value ,使用 redis 做判断 key 存不存在就可以了,我们当时的业务来说,没什么太大开销。第二个问题的话,除了 签名校验,重放攻击校验,还有一个时间校验,要求 调用发起方 与 服务器 时差在 10s 内,两个目的,一个就是防止你说的这个情况,一个是 redis 里的 key 可以设置 10s 过期,防止大量堆积。

步骤来说,首先判断时间,时差过大直接拒绝,时差在误差以内,通过拼接的 key 是否在 redis 中存在来判断是否重放攻击,是的话拒绝,否的话,再校验签名,在转发到对应的业务层。
我之前实现过这个逻辑,https://github.com/viticis/API-Signed

其实就是 签名 = 算法 ( appId + 接口 + 时间戳 + 随机数 )
四个参数只要有一个有一点点变动,签名就完全是不一样的了。

那么可以认为,同一个 appId (即同一个第三方用户),在同一毫秒内,调用同一个接口,使用了同一个随机数的情况下,大概率为重放攻击,只需要判断 appId -> 签名 在缓存中有无对应关系即可。
@FrankAdler #5 我昨晚在自己服务器部署了一下,管理员建立资产时候可以选择终端类型,xterm ,vt100 之类的,其他的是可以补全的
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   950 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms · UTC 19:42 · PVG 03:42 · LAX 11:42 · JFK 14:42
♥ Do have faith in what you're doing.