Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: IP - FORWARDED
Forum PHP.pl > Forum > Przedszkole
Kuziu
Hejka,

Z tym IP to już sam nie wiem.
  1. <?php
  2. $ip = $_SERVER['HTTP_X_FORWARDED_FOR'] ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER["REMOTE_ADDR"];
  3. ?>


To jest poprawne pobranie IP czy nie ?

Jeśli istnieje forwardowane to pobiera jesli nie to REMOTE_ADDR

Tylko teraz patrzę a na stronie siedzi ktoś z IP: 192.168.42.25 - a przecież takie IP jest z zakresu IP lokalnych ? A stronka stoi na płatnym serwerze więc jak ktoś mógł wejść na adresie lokalnym ?

O a teraz ktoś jest z 192.168.0.19 - a to juz na stówe adres lokalny
Hacker
hmmm...
sprawdzaj $_SERVER['HTTP_X_FORWARDED_FOR'] czy jest to poprawny ip bo odemnie dostał byś stringa unknown
mike
  1. <?php
  2.  
  3. function GetClientIP()
  4. {
  5. $ip = 0;
  6.  
  7. if( ! empty( $_SERVER[ 'HTTP_CLIENT_IP' ] ) )
  8. {
  9. $ip = $_SERVER[ 'HTTP_CLIENT_IP' ];
  10. }
  11.  
  12. if( ! empty( $_SERVER[ 'HTTP_X_FORWARDED_FOR' ] ) )
  13. {
  14. $ipList = explode( ", ", $_SERVER[ 'HTTP_X_FORWARDED_FOR' ] );
  15. if( $ip )
  16. {
  17. array_unshift( $ipList, $ip );
  18. $ip = 0;
  19. }
  20. foreach( $ipList as $v )
  21. {
  22. if( ! eregi( "^(192\.168|172\.16|10|224|240|127|0\.", $v ) )
  23. {
  24. return $v;
  25. }
  26. }
  27. }
  28.  
  29. return $ip ? $ip : $_SERVER[ 'REMOTE_ADDR' ];
  30. }
  31.  
  32. ?>
Kuziu
Hmmmm

Zastosowałem kod mike_mech'a i dalej są 192.168....
Radarek
Przeciez dostajesz to co chcesz smile.gif. Ip z ktorego nastapilo przekierowanie (czyli ten pierwotny adres). Jesli ktos jest za NATem, w sieci LAN i ma jakis swoj lokalny adres ip, np 192.168.2.8 to takie jest IP z ktorego nastapilo przekierowanie (HTTP_X_FORWARDED_FOR).
Kuziu
no ale u mnie np. w kablowce jestem za NAT'em i podaje moje prawdziwe IP przez FORWARDED

W takim razie jak pobierać IP ? :/
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.