Heim >Web-Frontend >js-Tutorial >IP der anfragenden API

IP der anfragenden API

Linda Hamilton
Linda HamiltonOriginal
2024-12-21 17:07:10125Durchsuche

IP of Requesting API

Abrufen der IP-Adresse des Clients in Express.js

Express.js, ein beliebtes Node.js-Framework, vereinfacht den Prozess der Erstellung von Webanwendungen. Um die IP-Adresse des Clients innerhalb einer Express-Anwendung zu erhalten, können Sie auf die vom Framework bereitgestellte req.ip-Eigenschaft zugreifen. In Szenarien, in denen sich Ihre Anwendung jedoch hinter einem Proxy oder Load Balancer befindet, wird die IP des Clients möglicherweise im X-Forwarded-For-Header gespeichert. Um in solchen Fällen die IP des Clients genau abzurufen, sollten Sie den folgenden Ansatz in Betracht ziehen:

const express = require('express');
const app = express();

app.use((req, res, next) => {
  const clientIp = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
  console.log(`Client IP: ${clientIp}`);
  next();
});

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

In diesem Setup erfasst die Middleware-Funktion die IP-Adresse des Clients aus dem X-Forwarded-For-Header, falls vorhanden; Andernfalls wird auf req.connection.remoteAddress zurückgegriffen. Dadurch wird sichergestellt, dass Sie unabhängig von der Bereitstellungsumgebung Ihrer Anwendung die richtige IP-Adresse erhalten.

IP-Daten mit IPQuery verbessern

Sobald Sie die IP-Adresse des Kunden erhalten haben, kann die Anreicherung dieser Daten mit Informationen zur Geolokalisierung und Risikobewertung wertvolle Erkenntnisse liefern. IPQuery ist eine robuste API, die für Entwickler entwickelt wurde und Funktionen wie VPN-Erkennung, Geolokalisierung und Bedrohungsinformationen bietet. Durch die Unterstützung von IPv4 und IPv6 bietet IPQuery schnelle Suchvorgänge mit geringer Latenz, was es zu einer hervorragenden Wahl für Echtzeitanwendungen macht.

Einrichten von IPQuery in Ihrer Express-Anwendung

Um IPQuery in Ihre Express-Anwendung zu integrieren, befolgen Sie diese Schritte:

  1. Installieren Sie den Axios HTTP-Client

Axios ist ein Promise-basierter HTTP-Client für Node.js, der HTTP-Anfragen erleichtert. Installieren Sie es mit npm:

   npm install axios
  1. Erstellen Sie eine Funktion zum Abfragen von IPQuery

Entwickeln Sie eine Funktion, die eine Anfrage an die IPQuery-API sendet und die Antwort verarbeitet:

   const axios = require('axios');

   async function getIpInfo(ip) {
     try {
       const response = await axios.get(`https://api.ipquery.io/${ip}?format=json`);
       return response.data;
     } catch (error) {
       console.error(`Error fetching IP information: ${error}`);
       return null;
     }
   }
  1. Integrieren Sie IPQuery in Ihre Middleware

Ändern Sie Ihre Express-Middleware, um die getIpInfo-Funktion zu nutzen:

   app.use(async (req, res, next) => {
     const clientIp = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
     const ipInfo = await getIpInfo(clientIp);
     if (ipInfo) {
       console.log(`Client IP: ${clientIp}`);
       console.log(`Location: ${ipInfo.location.city}, ${ipInfo.location.country}`);
       console.log(`ISP: ${ipInfo.isp.org}`);
       console.log(`Risk Score: ${ipInfo.risk.risk_score}`);
     }
     next();
   });

Diese Middleware ruft die IP-Adresse des Clients ab, ruft detaillierte Informationen von IPQuery ab und protokolliert relevante Details wie Standort, ISP und Risikobewertung.

Verstehen der Antwortstruktur von IPQuery

IPQuery bietet eine umfassende JSON-Antwort mit verschiedenen Datenpunkten:

{
  "ip": "1.1.1.1",
  "isp": {
    "asn": "AS13335",
    "org": "Cloudflare, Inc.",
    "isp": "Cloudflare, Inc."
  },
  "location": {
    "country": "Australia",
    "country_code": "AU",
    "city": "Sydney",
    "state": "New South Wales",
    "zipcode": "1001",
    "latitude": -33.854548400186665,
    "longitude": 151.20016200912815,
    "timezone": "Australia/Sydney",
    "localtime": "2024-09-03T22:22:52"
  },
  "risk": {
    "is_mobile": false,
    "is_vpn": false,
    "is_tor": false,
    "is_proxy": false,
    "is_datacenter": true,
    "risk_score": 0
  }
}

Zu den wichtigsten Komponenten gehören:

  • IP: Die abgefragte IP-Adresse.
  • ISP: Informationen zum Internetdienstanbieter, einschließlich ASN, Organisation und ISP-Name.
  • Standort: Geografische Daten wie Land, Stadt, Bundesland und Koordinaten.
  • Risiko: Indikatoren für potenzielle Risiken, einschließlich der Frage, ob die IP mit Mobilfunknetzen, VPNs, Tor-Knoten, Proxys, Rechenzentren verknüpft ist, und eine Gesamtrisikobewertung.

Ausführlichere Informationen finden Sie in der IPQuery-Dokumentation.

Das obige ist der detaillierte Inhalt vonIP der anfragenden API. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn