mirror of
https://github.com/dec0dOS/zero-ui.git
synced 2024-11-10 09:13:36 +08:00
feat: rate-limiter
This commit is contained in:
parent
af9d6447e7
commit
569384038a
2 changed files with 4 additions and 2 deletions
|
@ -168,6 +168,8 @@ Advanced manual setups are also supported. Check the following environment varia
|
|||
| ZU_DISABLE_AUTH | unset | If set to true, automatically log in all users. This is useful if ZeroUI is protected by an authentication proxy. Note that when this value is changed, the localStorage of instances of logged-in panels should be cleared |
|
||||
| ZU_LAST_SEEN_FETCH | `true`| Enables [Last Seen feature](https://github.com/dec0dOS/zero-ui/issues/40) |
|
||||
| ZU_LAST_SEEN_SCHEDULE | `*/5 * * * *` | Last Seen cron-like schedule |
|
||||
| ZT_BAN_TIME | 30 | The duration of the user's ban. (in minutes). You should write it on `environment` zerotier service |
|
||||
| ZT_TRIES_TO_BAN | 50 | User/password combination attemps before ban. You should write it on `environment` zerotier service |
|
||||
|
||||
ZeroUI could be deployed as a regular nodejs web application, but it requires a ZeroTier controller that is installed with the `zerotier-one` package. For more info about the network controller, you could read [here](https://github.com/zerotier/ZeroTierOne/tree/master/controller/#readme).
|
||||
|
||||
|
|
|
@ -5,8 +5,8 @@ const router = express.Router();
|
|||
import * as auth from "../services/auth.js";
|
||||
|
||||
const loginLimiter = rateLimit({
|
||||
windowMs: 15 * 60 * 1000, // 15 minutes
|
||||
max: 5, // limit each IP to 5 requests per windowMs
|
||||
windowMs: (Number(process.env.ZT_BAN_TIME) || 30) * 60 * 1000, // 30 minutes
|
||||
max: Number(process.env.ZT_TRIES_TO_BAN) || 50, // limit each IP to 50 requests per windowMs
|
||||
message: {
|
||||
status: 429,
|
||||
error: "Too many login attempts, please try again in 15 minutes.",
|
||||
|
|
Loading…
Reference in a new issue