在 Express.js 擷取客戶端的 IP 位址
Express.js 是一個流行的 Node.js 框架,它簡化了建立 Web 應用程式的過程。若要在 Express 應用程式中取得用戶端的 IP 位址,您可以存取框架提供的 req.ip 屬性。但是,在應用程式位於代理程式或負載平衡器後面的情況下,客戶端的 IP 可能儲存在 X-Forwarded-For 標頭中。要在這種情況下準確檢索客戶端的 IP,請考慮以下方法:
在此設定中,中間件函數會從 X-Forwarded-For 標頭(如果存在)捕獲客戶端的 IP 位址;否則,它會回退到 req.connection.remoteAddress。這可以確保無論應用程式的部署環境如何,您都可以獲得正確的 IP 位址。
使用 IPQuery 增強 IP 資料
取得客戶的 IP 位址後,透過地理位置和風險評估資訊豐富此數據可以提供有價值的見解。 IPQuery 是專為開發人員設計的強大 API,提供 VPN 偵測、地理定位和威脅情報等功能。 IPQuery 同時支援 IPv4 和 IPv6,可提供低延遲的快速查找,使其成為即時應用程式的絕佳選擇。
在 Express 應用程式中設定 IPQuery
要將 IPQuery 整合到您的 Express 應用程式中,請按照以下步驟操作:
Axios 是 Node.js 的基於 Promise 的 HTTP 用戶端,可促進 HTTP 請求。使用 npm 安裝它:
開發一個向 IPQuery API 發送請求並處理回應的函數:
修改 Express 中介軟體以利用 getIpInfo 函數:
此中間件檢索客戶端的 IP 位址,從 IPQuery 獲取詳細信息,並記錄相關詳細信息,例如位置、ISP 和風險評分。
理解 IPQuery 的回應結構
IPQuery 提供包含各種資料點的全面 JSON 回應:
關鍵組件包括:
更多詳細信息,請參閱 IPQuery 文件。
以上是請求API的IP的詳細內容。更多資訊請關注PHP中文網其他相關文章!