微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 如何安全,低成本地允许我的网站上的图像?

我开发了一个 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攻击
– 最佳用户体验
– 易于维护和实施

您在网站上允许用户提供的图像做了什么?

解决方法

为什么不使用亚马逊s3这样的服务?便宜,非常便宜(使用Reduced Redundancy Storage),像Paperclip这样最重要的插件支持开箱即用……

原文地址:https://www.jb51.cc/ruby/270064.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐