Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Zmienna $_SERVER zablokowane?
Forum PHP.pl > Forum > PHP
kra1986
Mam poniższy kod, jego ideą jest pobranie adres IP osoby odwiedzającej, następnie przesłanie go, jako parametr, a w efekcie pobranie zawartości strony biblioteką cURL.
Poniższy kod jednak nie działa, czy jest możliwe, że na serwerze zablokowane są zmienne globalne ($_SERVER)?
Jak mogę zaradzić powyższym niedogodnością?

  1. <?php
  2. $IP = $_SERVER['REMOTE_ADDR'];
  3. $PobierzStrone = curl_init();
  4. $URL = 'http://api.hostip.info/country.php?ip='.$IP;
  5. curl_setopt($PobierzStrone, CURLOPT_RETURNTRANSFER, 1);
  6. curl_setopt($PobierzStrone, CURLOPT_URL, $URL);
  7. $country = curl_exec($PobierzStrone);
  8. curl_close($PobierzStrone);
  9. ?>
nospor
print_r($_SERVER);
i zycie staje sie prostsze
aart3k
prostsze
nospor
Moje życie jest prostrze a Twoje niech będzie prostsze winksmiley.jpg

ps: dzieki za zwrocenie uwagi smile.gif
kra1986
a ja dziękuje za sugestię - ... faktycznie staje się prostsze smile.gif

Po zastosowaniu, powyższej metody, zauważyłem, że jako adres hosta, zawsze się wyświetla 127.0.0.1.
Istnieje jeszcze jakaś inna metoda, pomocna przy odczytywaniem prawdziwego adresu IP gościa witryny?
Poniżej przeklejam outputa (print_r($_SERVER):

  1. Array ( [FCGI_ROLE] => RESPONDER [HTTP_AUTHORIZATION] => [HTTP_HOST] => www.xyz.pl [HTTP_USER_AGENT] => Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729) [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 [HTTP_ACCEPT_LANGUAGE] => pl,en-us;q=0.7,en;q=0.3 [HTTP_ACCEPT_ENCODING] => gzip,deflate [HTTP_ACCEPT_CHARSET] => ISO-8859-2,utf-8;q=0.7,*;q=0.7 [HTTP_COOKIE] => __utma=143750885.228626253.1271154957.1293013498.1293019235.522; __utmz=143750885.1292570461.515.154.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=b0531; store=default [HTTP_X_VARNISH] => 295663611 [HTTP_X_FORWARDED_FOR] => 83.4.182.196 [PATH] => /usr/local/bin:/usr/bin:/bin [SERVER_SIGNATURE] =>
  2. Apache/2.2.9 (Debian) mod_ssl/2.2.9 OpenSSL/0.9.8g Server at www.xyz.pl Port 80
  3. [SERVER_SOFTWARE] => Apache/2.2.9 (Debian) mod_ssl/2.2.9 OpenSSL/0.9.8g [SERVER_NAME] => www.xyz.pl [SERVER_ADDR] => 127.0.0.1 [SERVER_PORT] => 80 [REMOTE_ADDR] => 127.0.0.1 [DOCUMENT_ROOT] => /home/www/xyzMagProd [SERVER_ADMIN] => [no address given] [SCRIPT_FILENAME] => /home/www/xyzMagProd/server.php [REMOTE_PORT] => 49487 [GATEWAY_INTERFACE] => CGI/1.1 [SERVER_PROTOCOL] => HTTP/1.1 [REQUEST_METHOD] => GET [QUERY_STRING] => [REQUEST_URI] => /server.php [SCRIPT_NAME] => /server.php [PHP_SELF] => /server.php [REQUEST_TIME] => 1293087262 [argv] => Array ( ) [argc] => 0 )
nospor
Normalnie slepota winksmiley.jpg
HTTP_X_FORWARDED_FOR spojrz co tam masz winksmiley.jpg

Przeciez SERVER_ADDR jak sama nazwa wskazuje to adres serwera

A na przyszlosc google -> php IP a znajdziesz "fachową" funkcję do adresu IP
kra1986
Dzięki za pomoc, faktycznie inaczej się tego nie da określić (ślepota), jeszcze raz dzięki smile.gif
cycofiasz
@nospor: REMOTE_ADDR też = 127.0.0.1 winksmiley.jpg
nospor
Patrzaj no.... kra1986 przyniósł na forum zaraźliwą ślepotę winksmiley.jpg
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.