Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak wyświetlić nazwę i prywatny ip komputera
Forum PHP.pl > Forum > PHP
SJ_Royd
Witam

Robię skrypty php rejestrujące odwiedziny użytkowników. Skrypt rejestruje mi IP i nazwę hosta - zewnętrzne. Potrzebuję czegoś co rejestrowałoby także IP i nazwę komputera w sieci lokalnej, z którego gość odwiedzałby moją stronę (np ip 10.5.67.2 jakiskomp). php potrafi rejestrowac użytą przez użytkownika przeglądarkę więc zakładam, że potrafi też to. Jak ktoś coś o tym wie to proszę o jakieś naprowadzenie.

Pozdrawiam
mike
  1. <?php
  2. function GetIP()
  3. {
  4. $ip = 0;
  5. if( !empty( $_SERVER[ 'HTTP_CLIENT_IP' ] ) ) {
  6. $ip = $_SERVER[ 'HTTP_CLIENT_IP' ];
  7. }
  8.  
  9. if( !empty( $_SERVER[ 'HTTP_X_FORWARDED_FOR' ] ) ) {
  10. $ipList = explode (', ', $_SERVER[ 'HTTP_X_FORWARDED_FOR' ] );
  11. if($ip) {
  12. array_unshift( $ipList, $ip );
  13. $ip = 0;
  14. }
  15. foreach( $ipList as $v ) {
  16. if( !eregi( "^(192.168|172.16|10|224|240|127|0).", $v ) ) {
  17. return $v;
  18. }
  19. }
  20. }
  21. return $ip ? $ip : $_SERVER[[ 'REMOTE_ADDR' ];
  22. }
  23. ?>

Innego adresu IP nie wyciągniesz.
Nazwy na pewno nie wyciągniesz.
jarrod
Cytat(SJ_Royd @ 27.10.2006, 19:27:31 ) *
php potrafi rejestrowac użytą przez użytkownika przeglądarkę więc zakładam, że potrafi też to.


Niestety - źle zakładasz...

edit:

- ale mogę się mylić winksmiley.jpg
SJ_Royd
Cytat(mike_mech @ 27.10.2006, 19:33:56 ) *
  1. <?php
  2. function GetIP()
  3. {
  4. $ip = 0;
  5. if( !empty( $_SERVER[ 'HTTP_CLIENT_IP' ] ) ) {
  6. $ip = $_SERVER[ 'HTTP_CLIENT_IP' ];
  7. }
  8.  
  9. if( !empty( $_SERVER[ 'HTTP_X_FORWARDED_FOR' ] ) ) {
  10. $ipList = explode (', ', $_SERVER[ 'HTTP_X_FORWARDED_FOR' ] );
  11. if($ip) {
  12. array_unshift( $ipList, $ip );
  13. $ip = 0;
  14. }
  15. foreach( $ipList as $v ) {
  16. if( !eregi( "^(192.168|172.16|10|224|240|127|0).", $v ) ) {
  17. return $v;
  18. }
  19. }
  20. }
  21. return $ip ? $ip : $_SERVER[[ 'REMOTE_ADDR' ];
  22. }
  23. ?>

Innego adresu IP nie wyciągniesz.
Nazwy na pewno nie wyciągniesz.

Niestety powyższy skrypt nie działa (nic nie pokazuje). Może JS potrafi wypisywać na ekranie takie rzeczy więc udam się na tamtejsze fora w poszukiwaniu odpowiedzi (a wklejenie rezultatów z JS do php to już prościzna smile.gif ).
Dzięki za bardzo szybką odpowiedź.
Pozdrawiam
mike
Cytat(SJ_Royd @ 27.10.2006, 19:51:25 ) *
Niestety powyższy skrypt nie działa (nic nie pokazuje).
Bo to jest funkcja.
A funkcja jak to każda funkcja ma to do siebie że ... trzeba ją wywołać tongue.gif
  1. <?php
  2.  
  3. echo GetIP();
  4.  
  5. ?>
SJ_Royd
Nie działało bo wywoływałem bez echo.
Ale efekt jest taki sam jakbym wywoływał samo $REMOTE_ADDR;
Chyba jednak będę musiał polegać na skryptach po stronie przeglądarki. Chyba mają większy dostęp do danych systemu klienta niż php.

Dzięki za pomoc smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.