Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Przypisywanie IP dla REMOTE_ADDR
Forum PHP.pl > Forum > Przedszkole
lDoran
Witam, próbuję napisać skrypt za pomocą, którego będę mógł przypisać nowe IP dla zmiennej $_SERVER['REMOTE_ADDR'] . Próbowałem już na kilka sposobów jednakże bezskutecznie. Prosiłbym o jakieś wskazówki worriedsmiley.gif .
vokiel
Jak to chcesz przypisać nowe IP?
Zmienna $_SERVER['REMOTE_ADDR'] przechowuje IP użytkownika, z którego nastąpiło wejście na stronę. Jeśli chcesz inne IP należy wejść z innego komputera (innego adresu IP)
webJ@cob
$_SERVER['REMOTE_ADDR'] jest wartością typu String (czyli ciągiem znaków) i najlepszym rozwiązaniem będzie wykonanie operacji:

  1. <?Php
  2. $_SERVER['REMOTE_ADDR'] .= ':192.168.22.22';
  3. print_r($_SERVER['REMOTE_ADDR']);
  4. ?>


W ten sposób otrzymujesz kolejne IP, którą są rozdzielone znakiem dwukropka.

Aby pobrać z tablicy $tablica (otrzymanej poprzez zastosowanie funkcji explode) kolejne IP-ki możemy wykonać (m.in.) operację:

  1. <?Php
  2. $tablica = explode(':', $_SERVER['REMOTE_ADDR']);
  3. foreach ($tablica as $ip_numer) echo "$ip_numer</br>";
  4. ?>
lDoran
Sprawdziłem skrypt, który dałeś, jednak wchodząc na stronę na której posiadam kod:
  1. <?php
  2.  
  3. $ip = $_SERVER['REMOTE_ADDR'];
  4. $_SERVER['HTTP_X_FORWARDED'];
  5. $_SERVER['HTTP_FORWARDED'];
  6. $_SERVER['HTTP_FORWARDED_FOR'];
  7. $_SERVER['HTTP_X_COMING_FROM'];
  8. $_SERVER['HTTP_COMING_FROM'];
  9. $_SERVER['HTTP_CLIENT_IP'];
  10. $_SERVER['HTTP_VIA'];
  11. $_SERVER['HTTP_X_FORWARDED_FOR'];
  12.  
  13. echo 'Adres IP: ' . $ip . '<br />
  14. HTTP_X_FORWARDED ' . $_SERVER['HTTP_X_FORWARDED'] . '<br />
  15. HTTP_FORWARDED ' . $_SERVER['HTTP_FORWARDED'] . '<br />
  16. HTTP_FORWARDED_FOR ' . $_SERVER['HTTP_FORWARDED_FOR'] . '<br />
  17. HTTP_X_COMING_FROM ' . $_SERVER['HTTP_X_COMING_FROM'] . '<br />
  18. HTTP_COMING_FROM ' . $_SERVER['HTTP_COMING_FROM'] . '<br />
  19. HTTP_CLIENT_IP ' . $_SERVER['HTTP_CLIENT_IP'] . '<br />
  20. HTTP_VIA ' . $_SERVER['HTTP_VIA'] . '<br />
  21. HTTP_X_FORWARDED_FOR ' . $_SERVER['HTTP_X_FORWARDED_FOR'] . '<br />';
  22. ?>


otrzymuję wynik:
  1. Adres IP: 127.0.0.1
  2. HTTP_X_FORWARDED
  3. HTTP_FORWARDED
  4. HTTP_FORWARDED_FOR
  5. HTTP_X_COMING_FROM
  6. HTTP_COMING_FROM
  7. HTTP_CLIENT_IP
  8. HTTP_VIA
  9. HTTP_X_FORWARDED_FOR


czyli ip pozostaje bez zmian. Co do pętli mam wrażenie wyświetla tylko tablicę, nie przypisując nowej wartości ip'ka sciana.gif

vokiel, jeżeli nie REMOTE_ADDR to jakiej funkcji mogę użyć?
vokiel
Ale co Ty chcesz osiągnąć?

$_SERVER['REMOTE_ADDR'] jak pisałem, to jest adres IP osoby, która wchodzi na stronę, to co Ty chcesz tu zmieniać?
lDoran
Chcę zrobić coś na wzór bramki proxy
vokiel
Patrz jak to wygląda:
1. Klient => 2. wchodzi na Twoja stronę (serwer) => 3. podaje adres i przechodzi na kolejną

ad 1. IP klienta: 161.123.12.12
ad 2. $_SERVER['REMOTE_ADDR'] pokazuje 161.123.12.12, IP serwera: 212.143.15.3
ad 3. $_SERVER['REMOTE_ADDR'] na stronie docelowej pokazuje 212.143.15.3
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-2024 Invision Power Services, Inc.