Oldal: 1 / 1

IP cím lekérdezése

Elküldve: 2016.10.14. 15:16
Szerző: robetha84
Tudna segíteni valaki abban, hogy hogy lehet az IP-címet lekérdezni PHP-vel?

Re: IP cím lekérdezése

Elküldve: 2016.10.14. 16:40
Szerző: gBaSoft
IP-cím lekérdezése:

Kód: Egész kijelölése

function get_ip() {
   $ipaddress = '';
   if ($_SERVER['HTTP_CLIENT_IP'])
      $ipaddress = $_SERVER['HTTP_CLIENT_IP'];
   else if($_SERVER['HTTP_X_FORWARDED_FOR'])
      $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
   else if($_SERVER['HTTP_X_FORWARDED'])
      $ipaddress = $_SERVER['HTTP_X_FORWARDED'];
   else if($_SERVER['HTTP_FORWARDED_FOR'])
      $ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
   else if($_SERVER['HTTP_FORWARDED'])
      $ipaddress = $_SERVER['HTTP_FORWARDED'];
   else if($_SERVER['REMOTE_ADDR'])
      $ipaddress = $_SERVER['REMOTE_ADDR'];
   else
      $ipaddress = 'UNKNOWN';
   return $ipaddress;
}

Re: IP cím lekérdezése

Elküldve: 2016.10.14. 16:59
Szerző: robetha84
A gondom az, hogy az otthoni gépemen ez nem adja vissza a külső címet.

Re: IP cím lekérdezése

Elküldve: 2016.10.14. 17:31
Szerző: gBaSoft
Próbáld ki a következőt:

Kód: Egész kijelölése

function get_external_ip() {
   $externalContent = file_get_contents('http://checkip.dyndns.com/');
   preg_match('/Current IP Address: \[?([:.0-9a-fA-F]+)\]?/', $externalContent, $m);
   $externalIp = $m[1];
   return $externalIp;
}

Re: IP cím lekérdezése

Elküldve: 2016.10.14. 17:49
Szerző: robetha84
Köszönöm, ez jól visszaadja.
Lenne még további kérdésem. Hogyan lehet az ip alapján meghatározni a földrajzi helyzetemet?

Re: IP cím lekérdezése

Elküldve: 2016.10.14. 18:27
Szerző: gBaSoft
Általában ezek fizetős szolgáltatások. Az alábbiakban lévő megoldás ugyan ingyenes, de korlátozott. 1000 lekérdezés / nap. https://ipapi.co

Az alábbi kód kiír egy táblázatba néhány infót az ip-cím alapján.

Kód: Egész kijelölése

$ip = get_external_ip();
$info = @json_decode(file_get_contents("https://ipapi.co/$ip/json/"),true);

if (count($info)>0) {
   echo '<table><tbody>';
   foreach ($info as $name => $value) {
      echo '<tr><td>'.$name.'</td><td>'.$value.'</td></tr>';
   }
   echo '</tbody></table>';
}

Egyéb hasonló szolgáltatásokra is rá lehet keresni...