Skip to main content

Preventing abuse of public file links in FluentCommunity S3 integration

We are using FluentCommunity Pro with S3-compatible storage (VK Cloud) for storing media uploaded via community posts. Everything works correctly, but we’re concerned about file access abuse.

Currently, when users upload files (e.g., images), the system stores them in S3 with public-read access, which makes the files accessible to anyone with a direct link. The URLs can be easily shared or reloaded excessively, potentially generating high traffic bills or being used for scraping.

Questions:

  1. Is there any built-in or recommended protection mechanism in FluentCommunity to prevent abuse of public S3 URLs (e.g. link tokens, signed URLs, referrer checks)?
  2. Are there any plans to support signed URLs or dynamic access rules in future versions?
  3. How do you recommend preventing downloads via hotlinking or external bots?

We'd love to hear if others in the community have implemented custom solutions for this as well.

Thanks in advance!

All the media is uploaded to S3 is set to public for make it faster and CDN ready. It’s the same as the local file system permission. If we need to sign the media then it will create extra hassle as well as it requires extra data processing which is not ideal for performance. We also hash the url so it’s random for each image.

Regarding hotlinking: use a S3 service which don’t charge for delivery like CloudFlare R2, which is highly recommended and the delivery is free.