Hallo Leute! Die meisten Codes, die du findest, geben dir die Server-IP-Adresse zurück, nicht die Client-IP-Adresse. Allerdings gibt dieser Code die korrekte Client-IP-Adresse zurück. Probiere es aus. Für weitere Informationen schau einfach hier:
https://www.youtube.com/watch?v=Nkf37DsxYjI
Um deine lokale IP-Adresse mit JavaScript zu bekommen, kannst du diesen Code innerhalb deines Script-Tags verwenden:
var RTCPeerConnection = /*window.RTCPeerConnection ||*/
window.webkitRTCPeerConnection || window.mozRTCPeerConnection;
if (RTCPeerConnection) (function () {
var rtc = new RTCPeerConnection({ iceServers: [] });
if (1 || window.mozRTCPeerConnection) {
rtc.createDataChannel('', { reliable: false });
};
rtc.onicecandidate = function (evt) {
if (evt.candidate)
grepSDP("a=" + evt.candidate.candidate);
};
rtc.createOffer(function (offerDesc) {
grepSDP(offerDesc.sdp);
rtc.setLocalDescription(offerDesc);
}, function (e) { console.warn("offer failed", e); });
var addrs = Object.create(null);
addrs["0.0.0.0"] = false;
function updateDisplay(newAddr) {
if (newAddr in addrs) return;
else addrs[newAddr] = true;
var displayAddrs = Object.keys(addrs).filter(function
(k) { return addrs[k]; });
document.getElementById('list').textContent =
displayAddrs.join(" or perhaps ") || "n/a";
}
function grepSDP(sdp) {
var hosts = [];
sdp.split('\r\n').forEach(function (line) {
if (~line.indexOf("a=candidate")) {
var parts = line.split(' '),
addr = parts[4],
type = parts[7];
if (type === 'host') updateDisplay(addr);
} else if (~line.indexOf("c=")) {
var parts = line.split(' '),
addr = parts[2];
updateDisplay(addr);
}
});
}
})(); else
{
document.getElementById('list').innerHTML = "<code>ifconfig| grep inet | grep -v inet6 | cut -d\" \" -f2 | tail -n1</code>";
document.getElementById('list').nextSibling.textContent = "In Chrome and Firefox your IP should display automatically, by the power of WebRTCskull.";
}
Und um deine öffentliche IP-Adresse zu bekommen, kannst du diesen Code innerhalb deines Script-Tags verwenden:
function getIP(json) {
document.write("Meine öffentliche IP-Adresse ist: ", json.ip);
}
4 Stimmen
Sie tun in der Regel dasselbe und funktionieren nicht korrekt für gemeinsam genutzte IP-Adressen. In diesem Bereich kann nicht viel getan werden.
0 Stimmen
Was ist das Problem, das Sie hier lösen möchten, warum glauben Sie, dass Sie die IP-Adresse benötigen?
4 Stimmen
Ich habe eine Anwendung, die spezifische Link-Klicks überprüft, und ein spezifischer Benutzer (nach IP) kann den Link an einem Tag nicht mehr als 5 Mal klicken. Das Problem ist, ob Request.UserHostAddress für eine Gruppe von Benutzern unter einem ISP oder Netzwerk oder für einen bestimmten Benutzer ist.