Skocz do zawartości

sprawdzanie IP gdy adres z którego przychodzimy jest forwardowany


turlajacy_dropsa

Rekomendowane odpowiedzi

Witam. Robię w PHP stronę i chciałbym sprawdzić IP odwiedzającego

(wiem, było 1000 razy ale poczytaj uważnie)

echo($_SERVER["REMOTE_ADDR"]);

i inne wynalazki zwracają zawsze ten sam wewnętrzny adres IP (192.168.0.1) niezależnie skąd wchodzę, czy lokalnie w sieci, w której działa ten serwer czy z jakiegokolwiek kompa (strona umieszczona jest nie na moim sprzęcie, dostępu do rutera nie mam ale podejrzewam że to on jest temu winien).

Wymyśliłem, że na pewno jest jakiś serwis, widget albo coś na zewnętrznym serwisie, który odpytany mógłby zwrócić prawdziwe IP (podobnie jak tu: https://www.adres-ip.pl/dlawebmastera.html). Tylko ja potrzebuję wykorzystać w PHP zwróconą wartość jako tekst a nie jakiś tam obrazek z IP. Poza tym widget wykonuje się po stronie klienta czyli już po ptakach. Ma ktoś jakiś pomysł?

Z góry dziękuję za podpowiedź.

Odnośnik do komentarza
Udostępnij na innych stronach

Może $_SERVER['HTTP_X_FORWARDED_FOR'] np. https://www.kess.snug.pl/?sid=10&pid=22 ?

Niestety, też tego próbowałem, wszystko co trafia na ten serwer jest forwardowane (chyba) na IP wewnętrzny w tej sieci i zawsze dostaję 192.168.0.1 a akurat w przypadku $_SERVER['HTTP_X_FORWARDED_FOR'] jest równe null.

Odnośnik do komentarza
Udostępnij na innych stronach

print_r($_SERVER) zrób, może gdzieś tam będzie ;)

i inne wynalazki zwracają zawsze ten sam wewnętrzny adres IP (192.168.0.1)

Dziwne, wygląda na to, że przed serwerem jest jakieś reverse-proxy (albo jako jakieś źle skonfigurowane cgi się uruchamia).

Spróbuj jak to się zachowuje po HTTPS.

Odnośnik do komentarza
Udostępnij na innych stronach

Dziwne, wygląda na to, że przed serwerem jest jakieś reverse-proxy (albo jako jakieś źle skonfigurowane cgi się uruchamia).

Najprawdopodobniej router robi SNAT + DNAT zamiast samego DNAT dla tego przekierowania portu, wtedy wszystkie połączenia przychodzą z IP routera, tak mają np. niektóre modele TP-Link.

W niektórych routerach można to ominąć robiąc przekierowanie portu przez UPnP, a nie zwykłym interfejsem, w niektórych wcale się nie da.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności