美文网首页
Storage 中的图片展示

Storage 中的图片展示

作者: 前端进城打工仔 | 来源:发表于2018-03-07 15:45 被阅读0次

    这篇文章主要是聊聊图片展示的问题。

    背景

    假设某一个网站上的所有图片存在GCP的Storage上,在Google Doc和Google Group的topic里面引用了这些图片,但是却无法直接显示在文中。

    分析原因

    • 通过gmail的方式往一个Group发送topic,Gmail中的图片必须是对公网可见的图片才能直接在email中显示。
    • 通过Google Doc API把内容以HTML的形式创建一个Google Doc,在创建的时候,只有对公网可见的图片才能写入到Google Doc中。

    Storage的中的图片可以“make public”,但是图片一旦对外开放就要考虑安全问题。

    考虑的安全问题

    假设Storage上存了很多图片,图片的命名是以ID命名的,1.jpg、2.jpg、3.jpg......10000.jpg。这些图片如果都make public,不怀好意的人知道了其中的一张图就可以猜测并且遍历得到Storage中其他图。如一张图的地址如下:https://storage.googleapis.com/bucketname/images/1.jpg,只要改变最后的id,写个脚本就可以得到Storage上所有的图片了。

    Storage中不make public的图片的地址是https://storage.cloud.google.com/bucketname/images/1.jpg
    而make public以后,图片的访问地址是
    https://storage.googleapis.com/bucketname/images/1.jpg

    解决方案

    Gmail中的图片的地址如下:
    https://mail.google.com/mail/u/1?ui=2&ik=5bbe28221b&attid=0.1&permmsgid=msg-f:1594263881727398649&th=161ff68dbc98d2f9&view=fimg&sz=w1600-h1000&attbid=ANGjdJ_n1UV9Lv5KdqZzwYNjGMg5ihCFjMwGdzJ9DIFqqgZsW_NsHhbfCApi8ShN1eYpChhqfhUtM4n02LiJ13DYcuoNQ3CfdbAt44azKoS1FXVX8TXGqzZDrvPvrng&disp=emb&realattid=161ff689fb2cb971f161
    虽然这个地址是public的但是无法猜测它的下一张图的地址是什么,比较安全。
    所以对于Storage中的图片,需要把图片的地址也变成不可猜测的地址,然后再public就可以了。

    相关文章

      网友评论

          本文标题:Storage 中的图片展示

          本文链接:https://www.haomeiwen.com/subject/osrezxtx.html