【问题标题】:How do I allow safely and inexpensively allow images on my site?如何在我的网站上安全且廉价地允许图像?
【发布时间】:2010-07-05 13:30:53
【问题描述】:

我开发了一个social networking site for gardeners 网站,并且有兴趣让用户能够将图像添加到他们的“推文”中。

如果我允许他们将图像上传到实际站点,这似乎很快就会变得昂贵(这是一个附带项目,除了我自己和我自己的痴迷之外,没有任何人资助)。假设该网站变得适度流行,有 10 万用户每周发布一张图片,大小只有 25 万。即 (100000 * .1 * 52 / 1024) = 508 MB/年的存储空间(这还没有考虑带宽的增加)。另外,我必须增加服务器负载来缩放图像。我不确定我是否应该继续这样做,或者是否有更好的可能性。

在某些方面链接到其他网站似乎更好。您确实有损坏的链接,但我更关心的是安全性:XSS。

应用程序在 Rails 3 上,使用 MongoDB / Mongoid 作为后端,如果这很重要的话。

我正在寻找解决方案,例如:

  • 在外部站点上存储图像的 API。理想的情况是能够将其上传到我的站点,并进行 API 调用以将其存储在外部站点上。
  • API(可能是 Javascript API)可以轻松安全地链接到一个或多个外部图像托管网站。
  • Markdown 或允许安全链接到外部图像的类似标记。我有兴趣让用户能够以有限的方式格式化他们的帖子,所以这可能会同时解决两个问题。我注意到这就是 Stack Overflow 所做的。
  • 将图像 URL 模式列入白名单的安全库
  • 关于为什么我认为这个问题是错误的建议。例如,也许我应该只存储图像。每年 500MB 真的不算贵,它确实让我能够创造出非常干净的用户体验。

我的目标是(按顺序): - 安全,既适用于我自己的网站,也不允许针对其他网站的 XSS 攻击 - 最好的用户体验 - 易于维护和实施

为了在您的网站上允许用户提供图片,您做了哪些工作?

【问题讨论】:

    标签: ruby-on-rails security image xss markdown


    【解决方案1】:

    您对问题的思考是错误的;)或者说不是在正确的时间。

    现在不用担心带宽问题,因为您还没有那么多用户。首先专注于使网站用户友好和受欢迎。性能、带宽、磁盘空间——这些都是当它们出现问题时你要处理的事情。当您拥有 10 万用户时,在 Amazon S3 上购买该空间和带宽的成本可能不再是问题。

    【讨论】:

    • 我知道延迟优化带宽可能是合理的,但现在学习如何安全编码肯定不会太早。
    • 虽然这是真的,但他所做的只是将问题转移到该站点被大量使用并且超出原始服务器的情况下,然后他必须在支持活跃用户的同时修复它。现在解决它会更好。
    • 是的,一旦网站变得足够大,您总是可以选择在网站上放置一些精选广告并产生一些收入来支付增加的成本
    • 我明白你的意思,马特,但我很高兴我提出了这个问题。我不想手动编写一些不安全的代码,和/或在以后有一个简单的替代方案时给自己造成混乱。看起来 s3 + 回形针解决方案可能正是我想要的。
    【解决方案2】:

    为什么不使用像 Amazon s3 这样的服务?很便宜,非常便宜(通过减少冗余存储),而且最重要的插件(如 Paperclip)开箱即用地支持它......

    【讨论】:

    • 我要说什么。 508MB 的存储空间在 S3 上约为 1 美元。
    【解决方案3】:

    您需要查看图片主机(flickr 等...)的条款和条件,看看您的使用是否适用。 Flickr 有一个 API,不知道其他的只是搜索 HOST api。

    Flickrs api 位于: http://www.flickr.com/services/api/

    【讨论】:

    • 谢谢你,阿卡斯。我确实研究了 Flickr 和其他一些替代方案。 Flickr 必须是非商业的才能免费使用,但 Picassa 确实允许商业用途。
    • 顺便说一句,我无法在上面发表评论,因为“添加评论”按钮显示在右侧链接下方。但是谢谢安德里亚和托比!
    猜你喜欢
    • 2011-04-16
    • 2013-11-06
    • 2012-08-18
    • 2021-03-16
    • 1970-01-01
    • 2014-02-16
    • 2011-11-05
    • 2023-03-13
    • 2014-01-02
    相关资源
    最近更新 更多