gpt4 book ai didi

ruby-on-rails - 我如何安全且廉价地允许在我的网站上显示图片?

转载 作者:行者123 更新时间:2023-12-04 06:34:54 26 4
gpt4 key购买 nike

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

    你做了什么来允许用户提供的图片出现在你的网站上?

    最佳答案

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

    现在不用担心带宽,当您还没有那么多用户时。首先专注于使网站用户友好和流行。性能、带宽、磁盘空间——这些都是您在出现问题时需要处理的事情。当您拥有 100k 用户时,购买空间和带宽的成本,例如,Amazon S3 可能不再是问题。

    关于ruby-on-rails - 我如何安全且廉价地允许在我的网站上显示图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3179867/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com