我开发了一个
social networking site for gardeners网站,并且有兴趣让用户能够将图像添加到他们的“推文”中.
如果我允许他们将图像上传到实际网站,这似乎会很快变得昂贵(这是一个副项目,没有任何人资助,而不是我和我自己的痴迷).假设网站变得适度受欢迎,每周有100K用户发布一张图片,大小只有250K.那是(100000 * .1 * 52/1024)= 508 MB /年的存储空间(并没有考虑到增加的带宽).另外,我必须增加服务器负载以缩放图像.我不确定我是否应该继续这样做,或者是否有更好的可能性.
在某些方面,链接到其他网站似乎更好.你确实有破坏的链接,但对我来说更大的担忧是安全性:XSS.
应用程序在Rails 3上,使用MongoDB / Mongoid作为后端,如果这很重要的话.
我正在寻找解决方案,例如:
>在外部站点上存储图像的API.什么是理想的是能够将其上传到我的网站,并进行API调用以将其存储在外部网站上.
> API(可能是Javascript API),可以轻松安全地链接到一个或多个外部图像托管站点.
> Markdown或类似的标记,允许安全地链接到外部图像.我有兴趣让用户能够以有限的方式格式化他们的帖子,因此这可能同时解决两个问题.我注意到这就是Stack Overflow的作用.
>将图像URL模式列入白名单的安全库
>关于我为什么错误地思考这个问题的建议.例如,也许我应该存储图像.每年500MB并不是那么昂贵,它确实让我创造了非常干净的用户体验.
我的目标是(按顺序):
– 安全,既适用于我自己的网站,也不允许对其他网站进行XSS攻击
– 最佳用户体验
– 易于维护和实施
您在网站上允许用户提供的图像做了什么?