Hello everyone! My current code of uploading a file is as follows:
createFile(
bucketId: 'id',
file: InputFile(),
fileId: 'unique()',
);
The above code is executed from the client side. The problem here is that an evil person could reverse engineer my code/request and pass anything as fileId. 😈 Such person could do this for example, and the file will end up in my bucket just fine with that modified ID:
createFile(
bucketId: 'id',
file: InputFile(),
fileId: 'TROLLOLOLOL',
);
I don't want the client to have any control over what file ID is uploaded. I could use a function that executes by the file upload trigger, but that doesn't change the fact that the file with the modified ID will be in my bucket, even though it’s for a short time.
The best way (I think) to solve this problem would by passing the file to a function and then process it through that same function. My question is: Is it possible to upload a file trough a function and if so, are there any examples of this?
FYI, it's best to wrap multiline with 3 backticks. See: https://www.markdownguide.org/extended-syntax/#syntax-highlighting.
Recommended threads
- Can't really use the S3 storage device
hi, I've linked my local MinIO Instance (it's just for testing, not for prod.) to my appwrite instance, when i'm uploading a file it's getting uploaded to the S...
- Storage Chunk upload bug
Hi, I'm experiencing an issue with Appwrite Storage chunked uploads. Small files upload successfully, but larger video files that require chunking fail. For ...
- [v1.8.1] Getting error "(role: applicati...
... but that scope doesn't exist. I am trying to get a function to run and modify tables in the database dynamically. I set everything up and eventually got: ...