Skip to content

fix: verify student id uploads by signature and loosen per-ip registration limits - #69

Merged
Adel2411 merged 1 commit into
devfrom
fix/registration-capacity
Nov 5, 2026
Merged

Adel2411 merged 1 commit into
devfrom
fix/registration-capacity

Conversation

@Adel2411

@Adel2411 Adel2411 commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

Raises the registration capacity before registrations open.

  • No Admin API in submit: the server no longer reads the upload back with cloudinary.api.resource (free plan: 500 Admin API calls per hour, which capped registrations at ~500/hour). It checks Cloudinary's signature of the upload response (public_id + version, signed with the API secret) and signs the stored URL itself. Formats stay enforced by the signed allowed_formats, size by the plan's file limit and the existing 5 MB check. A forged reference is refused without deleting anything.
  • Rate limits: per-IP limits were 5 submissions and 10 upload signatures per hour, so one campus network or carrier CGNAT address blocked the 6th student. Now: 5 submissions per hour per email (the real key), a loose 30/hour per-IP backstop, and 60 signatures/hour per IP.

Tested with a real signed upload to Cloudinary: valid signature passes, a tampered version fails, test file removed.

@vercel

vercel Bot commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
mc-website Ready Ready Preview Nov 5, 2026 9:41am UTC

@Adel2411
Adel2411 merged commit 7ab4e50 into dev Nov 5, 2026
3 checks passed
@Adel2411
Adel2411 deleted the fix/registration-capacity branch November 5, 2026 09:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant