npm 包 forwarded-for 使用教程

阅读时长 2 分钟读完

前言

在 Web 开发中,我们经常需要获取客户端的 IP 地址。然而,由于 HTTP 协议的限制,服务器只能获取到与其直接通信的设备的 IP 地址,而无法获得请求经过了多少个代理服务器等信息。这种情况下,我们需要使用 "X-Forwarded-For" 头字段来获取客户端真实的 IP 地址。

forwarded-for 就是一款用于解析 "X-Forwarded-For" 头字段的 npm 包。

安装

你可以使用 npm 或者 yarn 来安装 forwarded-for:

或者

使用

forwarded() 函数接收一个 http.IncomingMessage 对象作为参数,返回一个数组,其中包含了请求经过的所有代理服务器的 IP 地址,以及客户端的真实 IP 地址。

如果请求没有经过代理服务器,则返回仅包含客户端 IP 地址的数组。

注意事项

  1. forwarded-for 仅解析 "X-Forwarded-For" 头字段,并不会处理其他的代理头字段。
  2. forwarded-for 不会对 IP 地址进行验证或者检查,返回的结果可能会被伪造或者篡改。
  3. forwarded-for 在解析多个 IP 地址时,会将最后一个 IP 地址视为客户端的真实 IP 地址。这种情况下可能存在安全隐患,请谨慎使用。

结语

forwarded-for 是一款非常实用的 npm 包,在处理需要获取客户端 IP 地址的场景下,可以帮助我们快速地获取客户端的真实 IP 地址。但是,在使用过程中需要注意其存在的安全隐患。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/53559

纠错
反馈

纠错反馈