• 0

تحديد عنوان بروتوكل الإنترنت (IP Address) في node.js

أقوم بإستخدام node.js للعمل على مشروع بدون الإعتماد على إطار عمل   Express كيف يمكنني تحديد عنوان بروتوكل الإنترنت (IP Address) الخاص بالمستخدم لدي قائمة سوداء بالعناوين المحجوبه وأريد أن أحصل على العنوان الخاص بالمستخدم الذي يحاول الوصول للتطبيق ومن ثم إلغاء طلبه أو إستكماله على حسب هل العنوان موجود داخل القائمة السوداء أم لا

تمّ تعديل بواسطة محمد هاني3

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

يمكنك الحصول على IP Address من خلال:

req.connection.remoteAddress

بحيث يمكنك الحصول على العنوان حسب نوع الاتصال من اتصال http أو من socket,...

req.ip 
req.connection.remoteAddress 
req.socket.remoteAddress 
req.connection.socket.remoteAddress;

وبعدها يمكنك إنشاء حلقة تكرارية للمرور على المصفوفة التي تحوي العناوين المحظورة ومقارنة هذا العنوان بها، بشكل مشابه للتالي:

if(blackList.indexOf(ip) > -1)
    {
        res.end(); // إنهاء الطلب في حال كان العنوان موجود
    }

ولكن يوجد العديد من المكتبات الجاهزة التي يتم استخدامها مع express ومنها: express-ipfilter و express-ip-block والتي ستسهّل عليك العمل وتوفّر لك العديد من المزايا الإضافية.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

يمكنك الحصول على عنوان الIP بدون إستخدام إطار عمل مثل Express عن طريق استخدام هذا الكود

const http = require('http');
const server = http.createServer((req, res) => {
  const ip = res.socket.remoteAddress; // هنا تحصل على عنوان الأي بي للمستخدم
}).listen(3000);

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن