在服务端应用中怎样获得客户端IP
今天就跟大家聊聊有关在服务端应用中怎样获得客户端IP,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
如果有 x-forwarded-for 的请求头,则取其中的第一个 IP,否则取建立连接 socket 的 remoteAddr。
而 x-forwarded-for 基本已成为了基于 proxy 的标准HTTP头,格式如下,可见第一个 IP 代表其真实的 IP,可以参考 MDN X-Forwarded-For[1]
X-Forwarded-For:203.0.113.195,70.41.3.18,150.172.238.178X-Forwarded-For:<client>,<proxy1>,<proxy2>
以下是 koa 获取 IP 的方法
getips(){constproxy=this.app.proxy;constval=this.get(this.app.proxyIpHeader);letips=proxy&&val?val.split(/\s*,\s*/):[];if(this.app.maxIpsCount>0){ips=ips.slice(-this.app.maxIpsCount);}returnips;},getip(){if(!this[IP]){this[IP]=this.ips[0]||this.socket.remoteAddress||'';}returnthis[IP];},
看完上述内容,你们对在服务端应用中怎样获得客户端IP有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。