summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/private
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2022-05-31 17:44:22 +0900
committerGitHub <noreply@github.com>2022-05-31 17:44:22 +0900
commitc05723ca6ad4f17b823662e83ed8b442fe10626a (patch)
treef38e26f44e7ef714d37e196a319d7129a0391962 /packages/backend/src/server/api/private
parentchore(meta): label Pull Requests containing tests (#8768) (diff)
downloadsharkey-c05723ca6ad4f17b823662e83ed8b442fe10626a.tar.gz
sharkey-c05723ca6ad4f17b823662e83ed8b442fe10626a.tar.bz2
sharkey-c05723ca6ad4f17b823662e83ed8b442fe10626a.zip
Fix IP address rate limit (#8758)
* Fix IP address rate limit * CHANGELOG * Tune getIpHash
Diffstat (limited to 'packages/backend/src/server/api/private')
-rw-r--r--packages/backend/src/server/api/private/signin.ts3
1 files changed, 2 insertions, 1 deletions
diff --git a/packages/backend/src/server/api/private/signin.ts b/packages/backend/src/server/api/private/signin.ts
index b304550e29..79b31764fd 100644
--- a/packages/backend/src/server/api/private/signin.ts
+++ b/packages/backend/src/server/api/private/signin.ts
@@ -10,6 +10,7 @@ import { verifyLogin, hash } from '../2fa.js';
import { randomBytes } from 'node:crypto';
import { IsNull } from 'typeorm';
import { limiter } from '../limiter.js';
+import { getIpHash } from '@/misc/get-ip-hash.js';
export default async (ctx: Koa.Context) => {
ctx.set('Access-Control-Allow-Origin', config.url);
@@ -27,7 +28,7 @@ export default async (ctx: Koa.Context) => {
try {
// not more than 1 attempt per second and not more than 10 attempts per hour
- await limiter({ key: 'signin', duration: 60 * 60 * 1000, max: 10, minInterval: 1000 }, ctx.ip);
+ await limiter({ key: 'signin', duration: 60 * 60 * 1000, max: 10, minInterval: 1000 }, getIpHash(ctx.ip));
} catch (err) {
ctx.status = 429;
ctx.body = {