javascript - [已解決]網站如何儲存涉及使用者重要隱私的圖片比較合適?

來源:互聯網
上載者:User
關鍵字 php javascript java 後端開發
如何儲存圖片比如身份證,比較合適?

只能使用者自己和網站後台能訪問到圖片,其他使用者則不能訪問(其他使用者就算有圖片img的src也不能夠訪問到圖片)。

存本地空間估計不夠用、存第三方可靠嗎?有什麼成熟的解決方案?

回複內容:

如何儲存圖片比如身份證,比較合適?

只能使用者自己和網站後台能訪問到圖片,其他使用者則不能訪問(其他使用者就算有圖片img的src也不能夠訪問到圖片)。

存本地空間估計不夠用、存第三方可靠嗎?有什麼成熟的解決方案?

已經解決,看了upyun的介面,發現可以利用token防盜鏈的方式。

因為這種方式訪問img需要帶上_upt參數才行,

於是我們對於使用者要真正能夠訪問圖片mybucket.upaiyun.com//target.jpg前,需要做

  1. 判斷當前登入的使用者是否有許可權訪問/target.jpg

  2. 有許可權訪問,那麼產生_upt參數(_upt參數是根據私人的token、限制在未來幾分鐘內才能被訪問到的etime、以及檔案url,這3個參數產生的)

  3. 把這個_upt追加到圖片url裡得到 mybucket.upaiyun.com//target.jpg?_upt=xxxxxxx

這樣使用者才能訪問到圖片,使用者每次訪問圖片必須獲得_upt參數,而_upt的擷取則必須通過我們自己伺服器的鑒權才行,而且_upt是有時效性的,超過我們規定的時間使用者必須重新擷取_upt才行。

upyun的文檔

看下是否有基於ak + sk + 時間戳記產生token的方案(使用產生的token在有效期間內可以訪問資源)。

1.儲存的圖片名稱不要有規律可循.
比如可以 md5 當前上傳圖片的時間加上 n 位的隨機數,產生的值用來做圖片名稱.
2.圖片可以放到第三方cdn 上
比如七牛, ucloud ,速度和服務還是比較靠譜的.

你說的情況應該對圖片檔案進行對稱式加密,例如使用AES,而且對每個使用者使用特定方式產生的密鑰。因為圖片應該不會經常使用,使用時在臨時解密一下即可

現在檔案儲存體的話,交給成熟的服務提供者(比如七牛什麼的)來處理更方便,安全什麼的他們幫你處理了,你只需要把檔案託管上去,然後記錄一下三方服務返回的資訊(圖片外鏈和一些其他資訊)即可。關於存取權限的話,需要自己在程式邏輯層來作判斷了。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.