问题背景:
设置如下鉴权配置信息,从配置上可以看到时间格式是十六进制unix时间戳,但是请求时如果时间格式是十进制依然可以正常访问:
十进制鉴权信息: http://image-1253792666.file.myzijiebao.com/123/456/yuanyang.jpg?sign=7607d5a99423dc36f7e3f35b5f013eda&t=1608873664
十六进制鉴权信息:
http://image-1253792666.file.myzijiebao.com/123/456/yuanyang.jpg?sign=29b1f8b3dd36526af0b2d8e948849f35&t=5fe578dc
综上,问题疑问:
1、十六进制鉴权,为什么十进制也可以正常访问?
2、十进制鉴权已经过期,为什么还是可以正常访问?
问题1,看了标题即可明白。
十进制数字1608873664,也是合法的十六进制,所以这样的鉴权信息也是可以正常访问的。
问题2,在问题1的基础上,可以进行转换,把时间戳1608873664看作十六进制,转换为十进制是94632359524,对应unix时间戳转换为普通时间是4968-10-12 06:32:04,那么意味着这个鉴权信息要到4968年才会过期,在这之前是一直可以访问的:
综上就是这里问题的答案和结论,大家可以评论看下这种请求从产品侧是要拒绝访问还是允许访问,这边会收集意见反馈产品侧进行评估采纳。