标签: pre-signed-url

S3 预签名 url - 检查 url 是否已使用?

我使用 S3 预签名 url 直接从客户端上传图像。我希望仅当我确定使用了 url 并且上传了新图像时才能够将消息推送到 SQS 队列。

给定一个预签名的 URL,我如何验证它是否已被使用?

amazon-s3 amazon-web-services pre-signed-url

1
推荐指数
1
解决办法
2301
查看次数

无法从 Linux 终端获取文件

我正在尝试从 S3 存储桶下载文件。URL 的链接是预签名的 url。我可以通过网络浏览器下载 S3 链接,但不幸的是它不适用于 Linux 终端。以下是示例链接。

https://prod-04-2014-tasks.s3.amazonaws.com/snapshots/054217445839/rk12345-414a7069-c29e-42b7-8c46-2772ef0f572d?X-Amz-Security-Token=FQoDYXdzELz%2F%2F%2F% 2F%2F%2F%2F%2F%2F%2FwEaDJxH5NWcgw1QYX4nXCK3AwhdbSSQNGC8Ph4Uz7gqhfJssILaqIA008aYoH4Ycs7JMS92wE2Rg4h6uQJ7TW3mYyiBJgctM4Ku%2FzpxFdBM0qBnMCEhCM xnIUkyoaQOMN1EJRZKKAXPlhjn2dAiWMMRCQ189C5GyCDkAJHQeRkBu%2B9hH4tWhnBuSCTRzcdftu04ArNDgJ5jIy0F5ccVOAuBvZEsS4Ej1gHFJW5GY2PDzaXyktQGvz9Uk5PgPo11PPWULBP et9ASCvaUB5z7o%2Bwg9w9Ln8wV4oMnOFT4zG4toYoArp9lP61vCkJjIvCBU%2BjA9Lq0F05N%2FVII0zoD1rft2hX42nRTpqH%2Fk2iVyafK5avikgHRSJREYjh3Mm83%2BrdiR9ZTFSpqK5Pcu2v FO%2FlgyDRwdEgPXNJuxcmzSNI7Z0Zm3l95%2B7rNadJ4FvQ8NP3u0xEz3OeJhK79%2FnnMd1Ft5doOSeO8EKY5p3ltNw9mDtOWbzamhQD34e3EgxAcWgbqU0vCjxKEb8vsvSf06QaGQ6XX 1QKH5hMEST8%2B%2Bm%2FJ9t4Xf8L3%2FeympS%2BvJfPttobhXtzJSui2G7lLjaEkoAftl6ftIVkCQEovoHczwU%3D&X-Amz-算法= AWS4-HMAC-SHA256&X-Amz-Date=xxxxxxx&X-Amz-SignedHeaders=xxxxxx&X-Amz-Expires=600&X-Amz-Credential=xxxxxxxxxxx%2F20171030%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

这是我在 wget 之后得到的响应

Resolving prod-04-2014-tasks.s3.amazonaws.com (prod-04-2014-tasks.s3.amazonaws.com)... 52.216.225.104
Connecting to prod-04-2014-tasks.s3.amazonaws.com (prod-04-2014-tasks.s3.amazonaws.com)|52.216.225.104|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2017-10-30 11:24:11 ERROR 403: Forbidden.

X-Amz-SignedHeaders=host: command not found
X-Amz-Date=xxxxxxxxxxx: command not found
X-Amz-Expires=600: command not found
X-Amz-Algorithm=xxxxxxxxxx: command not found
X-Amz-Credential=xxxxxxxxxxxxx%2Fus-east-1%2Fs3%2Faws4_request: command not found
X-Amz-Signature=xxxxxxxxxxxxxxxxx: command not found
[2]   Exit 127                X-Amz-Algorithm=xxxxxxxxxxxxxx
[3]   Exit 127                X-Amz-Date=xxxxxxxxxxxxxx
[4]   Exit 127                X-Amz-SignedHeaders=xxxxxxx
[5]-  Exit 127                X-Amz-Expires=600 …
Run Code Online (Sandbox Code Playgroud)

linux wget amazon-s3 pre-signed-url

1
推荐指数
1
解决办法
4992
查看次数

处理 aws s3 预签名 URL 到期日期的最佳实践

我将图像保存到我的 s3 存储桶,生成一个预先签名的 URL 并将其保存为我的模型架构中的一个字段。当我的前端从后端检索模型对象时,它使用该 URL 来检索图像。

您可以使用 v4 设置的最大到期日期为 7 天。那么处理这些 URL 的“刷新”的最佳实践是什么?

我想到的事情:

  • 在我的后端有一个 cron 工作,它每隔 24 小时检查一次,如果我有任何 URL 在接下来的 24 小时内失效,并生成一个新的以防万一。
  • 每次收到 GET 请求时都检查它,如果无效则重新生成
  • 根本不检查后端,只需尝试点击前端的 URL,如果我得到 403,则请求从后端重新生成。我不太喜欢这个想法,因为我不能简单地使用 "/> 但必须将它包装在其他一些逻辑中。

javascript amazon-s3 amazon-web-services pre-signed-url

1
推荐指数
1
解决办法
1098
查看次数

使用适用于 PHP 的 AWS 开发工具包调用未定义的方法 createPresignedUrl()

我无法使用适用于 PHP 的 AWS 开发工具包创建预签名 Url。我的代码是 -

function connect()
    {
    // Instantiate the S3 class and point it at the desired host
    date_default_timezone_set('GMT');
    return S3Client::factory(array(
    'region'  => 'us-west-2',
    'version' => 'latest',
    'credentials' => [
            'key'    => $key,
            'secret' => $secret
        ]

    ));

 function getSignedS3URLForObject($fileName)
        {
            // GET CURRENT DATE
            $milliseconds = round(microtime(true) * 1000);
            $expiration = $milliseconds + (1000 * 60 * 60 * 24 * 30 * 2);
            $s3 = self::connect();
            $command = $s3->getCommand('GetObject', array(
                'Bucket'      => self::$customerBucket,
                'Key' …
Run Code Online (Sandbox Code Playgroud)

php amazon-s3 pre-signed-url

0
推荐指数
1
解决办法
3070
查看次数

如何制作过期/签名视频嵌入网址

我是新手,正在学习网络开发等等。我只知道如何将我的视频嵌入网站,任何新手都可以轻松获得源,他们也可以嵌入。但在许多网站中,视频 src 使用重定向器链接进行编码,例如:https : //redirector.googlevideo.com/videoplayback?requiressl=yes&id=0c5d32687bb8e7fd&itag=18&source=webdrive&ttl=transient&app=explorer&ip=2604 : a810 :0 :0 :: DC7:D001&ipbits = 32&到期= 1481329545&sparams = requiressl%2Cid%2Citag%2Csource%2Cttl%2Cip%2Cipbits%2Cexpire&签名= 8094D8DEF3C98784DC5561980B5725379B61A804.4C63CCB219699C4A2C02FB2606425E50243F8D36&键= CK2&毫米= 31&MN = SN-ab5l6ne6&MS = AU&MT = 1481314943&MV = M&NH = IgpwcjA0LmxnYTA3KgkxMjcuMC4wLjE&PL = 48

它会在一段时间后到期,在本例中为一天。我了解到这是一个签名的网址。

所以,我想知道如何创建这样的签名网址。请不要提供任何插件名称,因为我不是付费用户或我只使用博主的任何东西。我只是想学习如何用 javascript 编写代码。

简而言之,我想说,我嵌入的 youtube 视频的源是一个签名的 url,一个小时后过期,并且在刷新站点时源应该不断变化。

javascript video pre-signed-url

0
推荐指数
1
解决办法
3426
查看次数

下载文件后立即使 S3 预签名 URL 过期

是否可以在下载文件后立即使预签名 URL 过期?我有一个场景,我希望该 URL 仅被访问 1 次。再次打开网址应该不会下载文件吧?

amazon-s3 pre-signed-url

0
推荐指数
2
解决办法
2190
查看次数