diff options
| author | Adam Soltys <[email protected]> | 2025-09-28 14:15:16 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2025-09-28 14:15:16 -0700 |
| commit | b9d37e107a1bc7f9ea70755945eb76d34d3a6457 (patch) | |
| tree | 5dd6e4e0ab99843f0abea2079da24044053b1db5 /src | |
| parent | 51401d6bad6fa73500ea8258812ad705b750c93a (diff) | |
| download | coinos-ui-b9d37e107a1bc7f9ea70755945eb76d34d3a6457.tar.gz coinos-ui-b9d37e107a1bc7f9ea70755945eb76d34d3a6457.zip | |
register captcha
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/utils.ts | 2 | ||||
| -rw-r--r-- | src/routes/(static)/register/+page.server.ts | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/lib/utils.ts b/src/lib/utils.ts index 28a219e1..ad95f29a 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -488,3 +488,5 @@ export const register = async (user, ip, cookies, loginRedirect) => { if (error) return svelteFail(400, { error }); redirect(303, loginRedirect || `/${user.username}`); }; + +export const captchas = new Set(); diff --git a/src/routes/(static)/register/+page.server.ts b/src/routes/(static)/register/+page.server.ts index cddd97ea..284c5a61 100644 --- a/src/routes/(static)/register/+page.server.ts +++ b/src/routes/(static)/register/+page.server.ts @@ -1,4 +1,5 @@ -import { fd, get, register } from "$lib/utils"; +import { randomUUID } from "crypto"; +import { fd, get, captchas, register } from "$lib/utils"; import { redirect } from "@sveltejs/kit"; export const load = async ({ parent }) => { @@ -8,6 +9,10 @@ export const load = async ({ parent }) => { const index = Math.floor(Math.random() * 64) + 1; const { challenge } = await get("/challenge"); + const captcha = randomUUID(); + captchas.add(captcha); + setTimeout(() => captchas.delete(captcha), 120000); + return { index, challenge }; }; |
