مرحبا قمت بتصفية طلبات الموقع منع لتسرب الطلبات في سيرفر لينكس
عبر وضع هذه الاكواد
const { rateLimit } = require("express-rate-limit") const limiter = rateLimit({ windowMs: 1 * 60 * 1000, limit:100, standardHeaders: 'draft-7', legacyHeaders: false, })
ولكن اصبحت تظهر عدد سطور في السيرفر تدل على مشكلة وهي
ValidationError: The Express 'trust proxy' setting is true, which allows anyone to trivially bypass IP-based rate limiting. See https://express-rate-limit.github.io/ERR_ERL_PERMISSIVE_TRUST_PROXY/ for more information. 0|server | at Object.trustProxy (/root/node_modules/express-rate-limit/dist/index.cjs:148:13) 0|server | at Object.wrappedValidations.<computed> [as trustProxy] (/root/node_modules/express-rate-limit/dist/index.cjs:324:22) 0|server | at Object.keyGenerator (/root/node_modules/express-rate-limit/dist/index.cjs:578:20) 0|server | at /root/node_modules/express-rate-limit/dist/index.cjs:629:32 0|server | at processTicksAndRejections (node:internal/process/task_queues:94:5) 0|server | at async /root/node_modules/express-rate-limit/dist/index.cjs:611:5 { 0|server | code: 'ERR_ERL_PERMISSIVE_TRUST_PROXY', 0|server | help: 'https://express-rate-limit.github.io/ERR_ERL_PERMISSIVE_TRUST_PROXY/' 0|server | }
وبالنسبة الى x-forwarded-for
انا استخدم هذه الاكواد
function zeven() { const anquan = socket.request.headers["x-forwarded-for"] ? socket.request.headers["x-forwarded-for"].split(",")[0] : "89.187.162.182"; if (typeof anquan != "string" || !anquan) { socket.disconnect(); return false; } if (anquan) { if (anquan.includes(",")) { socket.disconnect(); return false; } ; } ; return anquan;
ماهي المشكلة بالزبط وكيف يمكنني حلها ؟؟
التعليقات