var ip = req.headers['x-forwarded-for'] ||
req.connection.remoteAddress ||
req.socket.remoteAddress ||
(req.connection.socket ? req.connection.socket.remoteAddress : null);
মনে রাখবেন যে কখনও কখনও আপনি একাধিক আইপি ঠিকানা এটিতে পেতে পারেন req.headers['x-forwarded-for']
। এছাড়াও, একটি x-forwarded-for
শিরোনাম সবসময় সেট করা থাকে না যা ত্রুটি ছুঁড়ে দিতে পারে।
ক্ষেত্রটির সাধারণ ফর্ম্যাটটি হ'ল:
এক্স-ফরওয়ার্ড-জন্য: client, proxy1, proxy2, proxy3
যেখানে মানটি হ'ল কমা + স্পেস দ্বারা বিভক্ত আইপি ঠিকানাগুলির তালিকা, বাম-সর্বাধিক মূল ক্লায়েন্ট এবং প্রতিটি ক্রমাগত প্রক্সি যেখানে অনুরোধটি পেয়েছে সেখানকার আইপি ঠিকানা যুক্ত করে অনুরোধটি পাস করেছে। এই উদাহরণে, অনুরোধ মাধ্যমে গৃহীত proxy1
, proxy2
এবং তারপরproxy3
। proxy3
অনুরোধের প্রত্যন্ত ঠিকানা হিসাবে উপস্থিত হয়।
মার্টিন যখন সেট না করা হয় তখন মন্তব্যে নীচে পরামর্শ দিয়েছিলেন এই সমাধানটি অরনভ গুপ্তের পরামর্শ সহ :x-forwarded-for
var ip = (req.headers['x-forwarded-for'] || '').split(',').pop().trim() ||
req.connection.remoteAddress ||
req.socket.remoteAddress ||
req.connection.socket.remoteAddress
req.ip
উত্সটি ব্যবহার করতে পারেন - expressjs.com/en/api.html#req.ip