禁止匿名用户查看图片和文件链接

Wonderful!

@mbcahyono could you please create a new topic for the plugin in plugin?

3 个赞

The Discourse Images Guardian plugin no longer works with the latest Discourse beta — you can’t set a URL for the logos any more so all images now require authentication, this results in the site logos returning 404’s for non-authenticated users, I have opened an issue for this on GitHub to see if we can find a way to solve this.

The Discourse Images Guardian has been updated by @mbcahyono so it now works with the latest Discourse beta, I have deployed it to a couple of servers running v2.3.0.beta1 :slight_smile:.

4 个赞

The Discourse Images Guardian plugin doesn’t currently work with the latest Discourse v2.3.0.beta5, I have had to disable it on a couple of sites. I have raised an issue for this on GitHub and hopefully @mbcahyono will have a suggestion for a fix for this soon.

2 个赞

今天我们开始内部测试一项新的“安全媒体”设置,该设置仅在启用 S3 上传时可用。其功能如下:

  • 对于启用了“需要登录”设置的 Discourse 实例,所有上传均被视为安全;若该设置未启用,则仅私信中的上传被视为安全。
  • 帖子和私信中所有安全上传的媒体 URL 将不再直接指向文件,而是先通过一个端点根据站点设置验证访问权限。
  • 邮件中的安全媒体将被占位符文本替换,提示用户登录 Discourse 实例以查看媒体内容。
  • 如果某次上传此前已在安全上下文中使用过,则不允许将其发布到公开话题中。

该设置目前仅适用于自托管的 Discourse 实例。内部测试完成后,我们将提供进一步更新。

14 个赞

这样做有什么缺点?会对性能产生影响吗?

帖子和私信中的媒体 URL 会被替换为 Discourse 服务器 URL,该服务器随后提供上传文件的私有 S3 URL。

2 个赞

在此澄清一下。

缺点是您无法再为私有内容使用 CDN,每张图片请求/下载都必须“经过”应用程序,以便为用户解锁存储桶。

在小型内部论坛上,您几乎不会察觉到任何影响。但在需要登录的大型论坛上,放弃 CDN 并通过应用程序转发请求可能会产生一定影响。

6 个赞

Image Guardian 插件无法与最新的 Discourse 配合使用,我已在 GitHub 上为此事开了一个 issue:

我确实尝试过使用 Secure uploads 选项,但这需要使用 S3,而有问题的论坛并非如此。因此,它仍然是必需的,希望 @mbcahyono 能够解决这个问题…… :crossed_fingers:

@chrisc 这里是假期,我下周再检查 :slight_smile:

1 个赞

太棒了,谢谢 @mbcahyono,节日快乐! :slight_smile:

@chrisc

这应该可以修复重建错误。不过我还没来得及测试实际功能。

1 个赞

太棒了 @mbcahyono 我已经安装并测试过了,一切正常 :slight_smile: 再次感谢!

1 个赞

@mbcahyono 是否有可能也保护用户上传的头像图标,使其在查看时需要 cookie?

它们的 URL 路径类似于 /user_avatar/$DOMAIN_NAME/$USER_NAME/$NUNBER/$ANOTHER_NUMBER.png