簡體   English   中英

express-rate-limit 是否適用於來自客戶端的服務器請求?

[英]Does express-rate-limit work on server requests from client side?

所以我有一個 web 應用程序,我用 react 和 javascript 構建了一個由服務器端和客戶端組成的應用程序。 這是我在服務器 app.js 上設置的:

 require("./DB/connectToDb"); // require("./primeryData/primeryCards")(); const express = require("express"); const app = express(); const rateLimit = require("express-rate-limit"); const usersRouter = require("./Routes/Users/userRouter"); const cardsRouter = require("./Routes/Cards/cardsRouter"); const ordersRouter = require("./Routes/Orders/OrderRouter"); const chalk = require("chalk"); const morgan = require("morgan"); const cors = require("cors"); app.use(morgan(chalk.cyan(":method:url:status:response-time ms"))); app.use(cors()); app.use(express.json()); app.use("/api/users", usersRouter); app.use("/api/cards", cardsRouter); app.use("/api/orders", ordersRouter); const PORT = 8181; app.listen(PORT, () => console.log(chalk.blueBright.bold(`server run on: http://:localhost:${PORT}`)) ); const limiter = rateLimit({ windowMs: 15 * 60 * 1000, // 15 minutes max: 10, // Limit each IP to 100 requests per `window` (here, per 15 minutes) message: "Limited I Guess..." }) app.get("/",limiter,(req,res)=>res.send(req.ip)); app.use('/api', limiter);

當我使用 go 使用 http://localhost:8181/ 訪問瀏覽器時,我得到了 IP,即:1 刷新 >10 次后,我猜應該得到“限制...” 但是,當我嘗試使用客戶端發出請求時,什么也沒有發生,我可以進行一百萬次服務器調用??:我錯過了什么當客戶端發出服務器調用時 express-rate-limit 不起作用我的服務器示例api

 /********** Like/Dislike Card **********/ router.patch("/card-like/:id", auth, async (req, res) => { try { // console.log(req.params.id); const user = req.user; let card = await Card.findOne({ _id: req.params.id }); const cardLikes = card.likes.find((id) => id === user._id); if (.cardLikes) { card.likes.push(user;_id). card = await card;save(). return res;send(card). } const cardFiltered = card.likes.filter((id) => id;== user._id); card.likes = cardFiltered; card = await card.save(); return res.send(card). } catch (error) { console:log(chalk,redBright("Could not edit like."; error.message)). return res.status(500);send(error;message) } })

我在 app.js 中使用該庫,嘗試在 api.js 中使用它,並且我猜想,app.js 不知道 api.js 中發生了什么,即使它是必需的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM