我開發了一個social networking site for gardeners網站,並且有興趣讓用戶能夠將圖像添加到他們的「推文」中。如何安全且經濟地允許我網站上的圖片?
如果我允許他們上傳圖片到實際的網站,它看起來這將很快成爲昂貴的(這是一個橫向項目,而不是由任何人比我和我自己的執着資助)。假設這個網站變得普遍流行,每週有10萬用戶發佈一個圖片,只有25萬個圖片。這是(100000 * .1 * 52/1024)= 508 MB /年的存儲(並沒有考慮到增加的帶寬)。另外,我不得不增加服務器負載來縮放圖像。我不確定我是否應該繼續這樣做,或者如果有更好的可能性。
鏈接到其他網站在某些方面似乎更好。你確實已經斷開了鏈接,但是更大的擔憂是安全性:XSS。
該應用程序是on Rails的3,使用的MongoDB/Mongoid作爲後端,如果該事項。
我正在尋找解決方案,如:即在外部網站上的圖像存儲
- 的API。最理想的是能夠將其上傳到我的網站,並進行API調用以將其存儲在外部網站上。
- API(也許是JavaScript API),可以很容易地安全地鏈接到一個或多個外部圖像託管網站。
- Markdown或類似的標記,可以安全地鏈接到外部圖像。我有興趣讓用戶能夠以有限的方式格式化他們的帖子,所以這可能同時解決兩個問題。我注意到這是Stack Overflow所做的。
- 安全庫,白名單圖像URL模式
- 爲什麼我在想這個問題的建議是錯誤的。例如,也許我應該只存儲圖像。每年500MB並不是那麼昂貴,它確實可以讓我創造一個非常乾淨的用戶體驗。
我的目標是(按順序): - 安全,無論是對我自己的網站,並且不允許對其他網站 XSS攻擊 - 最佳的用戶體驗 - 易於維護和實現
你做了什麼來允許你的網站上的用戶提供的圖像?
我要說的是什麼。存儲中的508MB在S3上的成本大約是1美元。 – 2010-07-06 06:32:43