1
huyi23 2020-06-03 23:18:41 +08:00
带签名怎么获得原图啊?两个签名的 sign 都不一样啊
|
2
letitbesqzr 2020-06-03 23:59:52 +08:00
@huyi23 #1
楼主估计想的是,私有写公有读,读取不带签名。 数据万象的原图保护,似乎只在经过数据万象域名的时候才生效,在公有读的情况下,如果知道 cos 自动分配的域名,没办法避免读取到原图.... |
3
cyjme OP |
4
letitbesqzr 2020-06-04 00:09:01 +08:00
数据万象就坑在这点...不能像 cdn 那样进行内部鉴权,存储库开启私有后,用户访问数据万象就必须带上签名。。
|
5
cyjme OP 现在客服讲理论上是可以通过 数据万象的域名上传图片的,这样子就可以不暴露 cos 的域名。
目前通过数据万象的域名上传图片遇到错误,客服在排查中。 |
6
cyjme OP |
7
xmumiffy 2020-06-04 00:24:00 +08:00 via Android
不明白为啥 cos 要公有读?
|
8
yuzo555 2020-06-04 00:28:16 +08:00
1. 前端不会计算出 GetObject 的 sign,用户无法直接 F12 访问,需要自行计算签名;
2. 如果你担心 1. 的问题,可以不要授权 name/cos:GetObject 这个权限给临时密钥; 3. 如果你仍然担心,还可以自行在上传完成后重命名(服务端 copy 后 delete 源文件名)。 |
9
cyjme OP @xmumiffy 网站业务上来说图片是要公有访问的。
为什么不 cos 私有读,然后 cdn 层面做公有呢? cos 绑定 cdn 的确支持回源鉴权。 但是因为要经过数据万象处理图片,而数据万象不支持回源鉴权。 |
11
cyjme OP @yuzo555
1 的方案,但是我觉得还不至于为所有的图片都生成签名。如果每次用户访问的时候生成签名,明显浪费了时间在生成签名上。如果提前为每个资源生成一个较长期的签名,这些签名总要过期的,签名后的链接保存也是问题。 网站业务的角度来说,这些大量的图片本来就是公开的,只是希望用户看不到原图而已,所有的都加签名好像有点过份了。另外根据目前看文档的理解,用户拿到签名,就可以访问到原图了。cos 中的是原图,数据万象相当于是网关,签名只针对 cos,数据万象不处理签名。 2 不是很理解,应该 1 种可以证明不可取。 3 你的理解应该是上传后直接就生成了,缩略图或水印图,但是目前我是想直接通过原图保护这个网关层面的逻辑,在访问图片的时候实时处理。 为了解决问题,其实也可以设置上传后,所有文件自动拷贝到另外一个桶里,或者上传后马上处理图片。 解决业务问题,现在是有办法解决的,只是觉得,腾讯这个原图保护的功能有缺陷,没有给用户一个很好的体验。 |
12
cyjme OP |
13
myd 2020-06-04 00:49:11 +08:00 via Android
可以设置只能写不能读
|
14
cyjme OP v 站被 google 收录的真快,刚才已经可以搜索到这个帖子了。
|
16
yuzo555 2020-06-04 00:57:00 +08:00
确实是,他这个设计逻辑有问题。
但是你还是可以开启 COS 的私有读写的,然后 CDN 用数据万象的源站当源站。 用户 F12 得到的 COS 地址就无法访问了,缺点是如果用户替换了 COS 源站地址中的 cos.ap-guangzhou 替换为 picgz,就又可以访问了。 |