diff options
| author | MeiMei <30769358+mei23@users.noreply.github.com> | 2022-05-31 17:44:22 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-05-31 17:44:22 +0900 |
| commit | c05723ca6ad4f17b823662e83ed8b442fe10626a (patch) | |
| tree | f38e26f44e7ef714d37e196a319d7129a0391962 /packages/backend/src/server/api/private | |
| parent | chore(meta): label Pull Requests containing tests (#8768) (diff) | |
| download | sharkey-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.ts | 3 |
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 = { |