Mam utworzoną aplikację internetową korzystającą z Rook
, która nasłuchuje mojej sieci ip (192.168.xx.xx) na porcie 8000. Każdy w moim biurze może się z nią połączyć po prostu wpisując http://192.168.xx.xx:8000/page_name
w przeglądarce. Muszę monitorować użycie tych stron i zastanawiać się, w jaki sposób mogę uzyskać adres IP sieci tych, którzy są z nimi powiązani.Uzyskiwanie prywatnego adresu IP użytkownika z serwera Rook/Shiny
Nie mam doświadczenia w tworzeniu stron internetowych i na podstawie dotychczasowych badań wydaje się, że używanie kodu po stronie klienta, takiego jak JavaScript
, jest bardzo trudne (prawie niemożliwe), aby to osiągnąć (popraw mnie, jeśli się mylę). Tak, moje pytanie brzmi: czy istnieje sposób na uzyskanie IP klienta sieciowego za pomocą kodu po stronie serwera wewnątrz aplikacji Rook? (W razie potrzeby będę skłonny zmienić serwer WWW, każde rozwiązanie zostanie docenione).
Dziękuję i przepraszam z góry, jeśli moje pytanie wydaje się być mylące ... w szczególności nie jestem pewien, czy potrzebne są inne znaczniki.
EDIT: Chciałbym również przyjąć odpowiedź za pomocą czegoś innego niż Rook
(ale nadal w R
)
EDIT 2: mam ustawić błyszczące Server po tym link. Jestem w trakcie konfigurowania serwera, aby uzyskać access_log
, który zgodnie z @Thell zawiera potrzebne informacje. W shiny-server.conf
Dodałem względną oświadczenie i teraz jest:
run_as shiny;
server {
listen 3838;
location/{
site_dir /var/shiny-server/www;
log_dir /var/shiny-server/log;
directory_index on;
}
}
access_log /home/michelec/log.txt;
ostatni wiersz powinien powiedzieć błyszczące napisać access_log w moim katalogu domowym. Nic się jednak nie dzieje, dziennik pozostaje pusty. według here w formatów sekcji powinien otrzymać jedną z tych dzienników:
default ':remote-addr - - [:date] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent"'
short ':remote-addr - :method :url HTTP/:http-version :status :res[content-length] - :response-time ms'
tiny ':method :url :status :res[content-length] - :response-time ms'
dev concise output colored by response status for development use
zależności jeśli pozostawić domyślny format albo jego zmiany.
Czy możesz udostępnić swój kod? Na Rook nie ma wiele innych rzeczy niż podstawowa dokumentacja, więc odpowiedź na twoje pytanie będzie prawdopodobnie wymagać trochę eksperymentów, które prawdopodobnie będą wymagać odtwarzalnego przykładu. – SchaunW
@SchaunW dzięki za odpowiedź. Niestety, nie mam jeszcze kodu do tego zadania. Robię reasearch każdego dnia. W takim razie na pytanie udzielono by odpowiedzi nawet za pomocą (ważnego) wejścia, aby rozpocząć to kodowanie. – Michele
Miałem dzisiaj zabawę - wydawało się, że 'ip()' powinno być tym co chcesz, ale nie mogłem uzyskać z niego żadnego wyniku. – alexwhan