【发布时间】:2022-08-02 22:42:47
【问题描述】:
我想知道是否有一种方法可以从 Google Cloud 的 PHP 库中手动销毁签名的 URL,或者在生成中指定一些参数来指定“第一次打开链接时,销毁它”。
此时我发现只有一个“时间”来设置签名 URL 的生成,没有别的。
谢谢
标签: php google-cloud-platform google-cloud-storage signed-url
我想知道是否有一种方法可以从 Google Cloud 的 PHP 库中手动销毁签名的 URL,或者在生成中指定一些参数来指定“第一次打开链接时,销毁它”。
此时我发现只有一个“时间”来设置签名 URL 的生成,没有别的。
谢谢
标签: php google-cloud-platform google-cloud-storage signed-url
有没有办法手动销毁签名的 URL?
您需要删除服务帐户钥匙这可能会有几分钟的延迟,并且还会使其他签名的 URL 无效。
签名 URL 的验证是通过公钥和时间戳进行的。如果时间戳没有过期,剩下的就是删除公钥,这需要删除服务帐户的私钥。
如果签名 URL 是由 Google 托管服务帐户密钥生成的,则您必须删除该服务帐户。
【讨论】:
我的解决方法是重命名对象.重命名后,所有旧的签名 URL 将不再起作用,服务帐户仍然完好无损。
(在这里查看我的完整答案:https://stackoverflow.com/a/73209023/16550663)
关于生成一次性 url,我认为它有点复杂,因为它取决于浏览器。一些预检 OPTIONS 请求或 HEAD 请求将在实际访问之前发送到该 url(GET、POST、PUT、..)。所以这很难或几乎不可能,尤其是对于谷歌云存储。
【讨论】: