开发者社区> 问答> 正文

阿里云OSS 文件Url签名过期依然可以访问(已经设置cache-control为no-cache)

       try {
            // 设置签名URL过期时间,单位为毫秒。

            System.out.println("开始时间:"+ DateUtil.date(System.currentTimeMillis()));
            Date expiration = new Date(System.currentTimeMillis() + 3000);
            // 生成以GET方法访问的签名URL,访客可以直接通过浏览器访问相关内容。
            System.out.println("过期时间:"+ DateUtil.date(expiration));
            URL url = ossClient.generatePresignedUrl(bucketName, objectName, expiration);
            System.out.println(url);
            tmp = url;
        } catch (OSSException oe) {
        } catch (ClientException ce) {
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
        System.out.println("第一次读取图片时间:" + DateUtil.date());
        PicUtils.GetUrlPic(tmp,"E:\\Cache\\tmp1.png");
        Thread.sleep(5000);
        System.out.println("第二次读取图片时间:" + DateUtil.date());
        PicUtils.GetUrlPic(tmp,"E:\\Cache\\tmp2.png");

开始时间:2022-09-05 15:28:15

过期时间:2022-09-05 15:28:18

第一次读取图片时间:2022-09-05 15:28:15

第二次读取图片时间:2022-09-05 15:28:20

在第二次通过Url读取图片时,已经过了Url签名的有效时间,但是依然能访问并且读取到了图片文件。

展开
收起
游客bebs4kazlsxpe 2022-09-05 15:33:18 1946 1
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
阿里云云原生Serverless产品手册 立即下载
阿里云认证的解析与实战-云计算ACP认证 立即下载
阿里云认证的解析与实战-数据仓库ACP认证 立即下载