To wydaje się bardzo podstawowe pytanie, które nie ma eleganckiego rozwiązania/odpowiedzi.Jak uzyskać dostęp do adresu IP klienta w Meteor?
Jak uzyskać dostęp do klienta (zdalnego) adresu IP z (1) serwera lub (2) klienta?
To wydaje się bardzo podstawowe pytanie, które nie ma eleganckiego rozwiązania/odpowiedzi.Jak uzyskać dostęp do adresu IP klienta w Meteor?
Jak uzyskać dostęp do klienta (zdalnego) adresu IP z (1) serwera lub (2) klienta?
Jak wspomniano Florin, to wszystko jest dość w dużym stopniu zintegrowane z Meteorem, w przeciwieństwie do ciemnych wieków, kiedy musieliśmy sami to zrobić. Jednak dodatkowo zapakowałem go w pakiet, który śledzi wszystkie otwarte połączenia i pozwala na zapytanie o ich adresy IP: https://github.com/mizzao/meteor-user-status. Wykonuje również szereg innych użytecznych rzeczy.
Możesz użyć tego pakietu: https://github.com/gadicohen/meteor-headers. Otrzymuje nagłówki zarówno na kliencie, jak i na serwerze.
Jeśli chcesz zrobić to bez paczki, możesz "zainspirować" się samym kodem powyżej, należy pamiętać, że przed 0.6.5 użyliśmy "ukrytego" __meteor_bootstrap__.app
i postu 0.6.5 jest to zalecane zamiast tego użyć WebApp.connectHandler
.
Na kliencie
headers = {
list: {},
get: function(header, callback) {
return header ? this.list[header] : this.list;
}
}
Meteor.call('getReqHeaders', function(error, result) {
if (error) {
console.log(error);
}
else {
headers.list = result;
}
});
na serwerze:
headers = {
list: {},
get: function(header) {
return header ? this.list[header] : this.list;
}
};
var app = typeof WebApp != 'undefined' ? WebApp.connectHandlers : __meteor_bootstrap__.app;
app.use(function(req, res, next) {
reqHeaders = req.headers;
return next();
});
Meteor.methods({
'getReqHeader': function(header) {
return reqHeaders[header];
},
'getReqHeaders': function() {
return reqHeaders;
},
});
To już jest przestarzałe. Adres IP klienta jest teraz oferowany przez rdzeń 'clientAddress' - http://docs.meteor.com/#/full/meteor_onconnection –
Getting IP klient:
Bez żądania HTTP, w funkcji powinien być w stanie uzyskać clientIP z :
clientIP = this.connection.clientAddress;
//EX: you declare a submitForm function with Meteor.methods and
//you call it from the client with Meteor.call().
//In submitForm function you will have access to the client address as above
z żądaniem HTTP i przy użyciu żelaza routera i jego Router.map funkcję:
w funkcji działania ukierunkowanego wykorzystania szlaku:
clientIp = this.request.connection.remoteAddress;
Salut Florin, jak wspomnieć o tym pytaniu jest doskonałym duplikatem [tego] (http: // /stackoverflow.com/questions/14843232/how-to-get-the-user-ip-address-in-meteor-server)? –
Całkowicie się zgadzam, w tym czasie chciałem umieścić komentarz z tym zamiast odpowiadać, ale nie miałem wystarczająco punktów reputacyjnych (umieszczenie komentarza na pytania/odpowiedzi, które nie należą do ciebie wymagane 50p lub więcej) –
To jest dostępna tylko po wersji 0.7.1.1 dla tych, którzy mają aplikacje działające w starszych wersjach, tak jak ja. – user2602152
Zobacz: http://stackoverflow.com/questions/102605/can-i-look-the-ip-address-of-a-hostname- from-javascript –
Nie mam pojęcia, co to jest cgi-bin i jak używać w tym celu ...:/ – Chet