Heim >Web-Frontend >Front-End-Fragen und Antworten >So erhalten Sie die IP- und MAC-Adresse des Betrachters mithilfe von JavaScript

So erhalten Sie die IP- und MAC-Adresse des Betrachters mithilfe von JavaScript

PHPz
PHPzOriginal
2023-04-24 14:45:518959Durchsuche

Mit der Popularität und Entwicklung des Internets müssen immer mehr Anwendungen die IP-Adresse und MAC-Adresse von Besuchern erhalten. In vielen Fällen müssen wir JavaScript verwenden, um diese Funktion zu erreichen.

In diesem Artikel wird erläutert, wie Sie mithilfe von JavaScript die IP-Adresse und MAC-Adresse des Betrachters abrufen und in die Datenbank schreiben.

1. Ermitteln Sie die IP-Adresse des Besuchers

Das Ermitteln der IP-Adresse des Besuchers in Javascript erfolgt hauptsächlich durch Zugriff auf den Back-End-Server. Eine gängige Methode besteht darin, eine Anfrage an den Server zu senden und den Server die IP-Adresse des Browsers zurückgeben zu lassen. Das Folgende ist ein Beispielcode:

var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://api.ipify.org', true);
xhr.onreadystatechange = function() {
  if (xhr.readyState === 4) {
    if (xhr.status === 200) {
      var ip = xhr.responseText;
      console.log(ip);
      // 将ip地址写入数据库
    } else {
      console.error(xhr.statusText);
    }
  }
};
xhr.send(null);

Dieser Code verwendet XMLHttpRequest, um eine GET-Anfrage an die URL https://api.ipify.org zu senden und die vom Server nach der Anfrage zurückgegebene IP-Adresse abzurufen ist abgeschlossen.

In tatsächlichen Anwendungen können Probleme mit domänenübergreifenden Anforderungen auftreten. Wenn sich die angeforderte Site vom Domänennamen der aktuellen Seite unterscheidet, verhindert der Browser, dass XMLHttpRequest die Anforderung sendet, und gibt den Fehler „Domänenübergreifender Zugriff ist verboten“ zurück.

Es gibt im Wesentlichen zwei Möglichkeiten, domänenübergreifende Probleme zu lösen. Eine davon ist die Verwendung der JSONP-Technologie, einem technischen Mittel für den domänenübergreifenden Zugriff. Dabei werden Daten durch dynamisches Hinzufügen eines