垃圾邮件发送者使用上传的图片在垃圾邮件中,你有什么建议如何解决吗?

我有一个 Discourse 安装,并且非常满意。最近,垃圾邮件发送者找到了绕过内置垃圾邮件防护的方法。问题是,他们在帖子中发布图片,然后立即将这些图片嵌入到他们发送给成千上万人的垃圾邮件中。即使我删除了帖子,这些图片似乎仍然可以访问相当长一段时间。
这导致我的主机收到了垃圾邮件滥用投诉。

目前,我已经禁用了新用户上传图片的功能,但由于这是一个支持论坛,这并不是一个很好的解决方案。人们经常需要在他们的第一个帖子中添加一些截图等内容。

有人找到解决这个问题的可行方法吗?

我已经尝试过取消注释 ^/uploadsvalid_referers 命令,但似乎没有任何效果。图片仍然可以被嵌入:

   location ~ ^/uploads/ {

      # 注意:我们无法在顶层定义标头并继承,这非常烦人。
      #
      # proxy_set_header 是按设计不继承的,我们必须重复它,
      # 否则标头设置不正确。
      proxy_set_header Host $http_host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Request-Start "t=${msec}";
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $thescheme;
      proxy_set_header X-Sendfile-Type X-Accel-Redirect;
      proxy_set_header X-Accel-Mapping $public/=/downloads/;
      expires 1y;
      add_header Cache-Control public,immutable;

      ## 可选的上传防盗链规则
      valid_referers folivora.ai *.folivora.ai *.llo.ai;
      if ($invalid_referer) { return 403; }

      # 自定义 CSS
      location ~ /stylesheet-cache/ {
          add_header Access-Control-Allow-Origin *;
          try_files $uri =404;
      }
      # 这允许我们绕过 rails
      location ~* \.(gif|png|jpg|jpeg|bmp|tif|tiff|ico||avif)$ {
          add_header Access-Control-Allow-Origin *;
          try_files $uri =404;
      }
      # SVG 需要附加额外的标头
      location ~* \.(svg)$ {
      }
      # 缩略图和优化图像
      location ~ /_?optimized/ {
          add_header Access-Control-Allow-Origin *;
          try_files $uri =404;
      }

      proxy_pass http://discourse;
      break;
    }
2 个赞

嗯。这真是一个棘手的问题。:thinking:

我认为,如果您编辑帖子以删除图片,使其不包含在帖子的最新版本中(无论删除与否),并将 clean orphan uploads grace period hours 设置为最短的 1 小时,这可能会加快删除速度。

不过,这对于易用性或即时性来说都不是理想的解决方案。

1 个赞

我已经将其设置为一小时,但他们发送垃圾邮件的速度非常快……

您知道使用 S3 而不是我自己的服务器进行上传是否可以解决此问题吗?是否有什么方法可以只允许登录用户查看上传的图片?

1 个赞

有一个安全上传功能可能有点用:

不过这是一个高级设置,我也不太熟悉。


实际上,再次阅读后,它可能不适合这种情况:

3 个赞

也许我应该把这个作为功能请求发布。\n\n基本上,我认为我需要两件事\n- 用户被删除时立即删除图片的(包括个人资料图片)的能力\n- 用户被标记进行审查时立即删除或保护图片的能力

使用此方法,您可以轻松快速地永久删除图片

1 个赞

好的,我会试试。你确定它也会永久删除图片吗?

认为它会删除帖子,并且上传会以与上述方法类似的方式处理,使用 clean orphan uploads grace period hours

此外,同一管理员在软删除和永久删除之间有 5 分钟的内置延迟(但第二位管理员不会遇到同样的等待)。

不过,确实值得一试。:crossed_fingers:

1 个赞

是的。正如上面那位仁兄所说。必须等待 5 分钟。只需使用另一个管理员帐户即可立即执行。这将永久删除该图片。

认为你们的 NGINX 配置有问题。当我尝试在新标签页中打开你们论坛上的图片时,它能正常加载,尽管它不应该加载,因为我没有传递任何 referer :thinking:
如果你们解决了这个问题,就能解决大部分垃圾信息问题,因为垃圾信息发送者将无法热链接到你们论坛上的任何图片。

3 个赞