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