亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在節點中確定用戶的IP地址

如何在節點中確定用戶的IP地址

守候你守候我 2019-07-09 18:10:55
如何在節點中確定用戶的IP地址如何從控制器內確定給定請求的IP地址?例如(以明示方式):app.post('/get/ip/address', function (req, res) {     // need access to IP address here})
查看完整描述

3 回答

?
HUWWW

TA貢獻1874條經驗 獲得超12個贊

在你的request對象有一個名為connection,這是net.Socket對象。nets.ocket對象具有一個屬性remoteAddress因此,您應該能夠通過以下調用獲得IP:

request.connection.remoteAddress

見文件http

在注釋中指出的那樣,如果服務器位于代理后面,獲取遠程IP的正確方法是request.headers['x-forwarded-for']


查看完整回答
反對 回復 2019-07-09
?
鳳凰求蠱

TA貢獻1825條經驗 獲得超4個贊

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頭將不會總是被設置,這可能會拋出一個錯誤。

該領域的一般格式是:

X-轉發-用于: client, proxy1, proxy2, proxy3

其中值是一個逗號+分隔的IP地址列表,其中最左邊的是原始客戶端,并且每個傳遞請求的連續代理都添加了它接收請求的IP地址。在本例中,請求通過proxy1proxy2,然后proxy3proxy3顯示為請求的遠程地址。

這是阿納夫·古普塔修復馬丁已在以下評論中對下列情況提出建議:x-forwarded-for未設置:

var ip = (req.headers['x-forwarded-for'] || '').split(',').pop() || 
         req.connection.remoteAddress || 
         req.socket.remoteAddress || 
         req.connection.socket.remoteAddress


查看完整回答
反對 回復 2019-07-09
?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

如果用快車.。

req.ip

我在查這個,然后我就像在等,我在用快車。呃。


查看完整回答
反對 回復 2019-07-09
  • 3 回答
  • 0 關注
  • 1254 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號