• 17-10-2023, 04:12:11
    #1
    Merhaba,

    Localde bir web sayfamız var. Sağ alt köşede sayfaya giren personelimizin local IP adresini göstermek istiyoruz. IP Adresiniz: xxx.xx.xx.xx şeklinde.

    İnternette bulduğum kodlar çalışmıyor. Bu konuda düzgün çalışan bir kod konusunda yardımcı olabilirseniz çok sevinirim..
  • 17-10-2023, 04:22:50
    #2
    Alttaki fonksiyonu denediniz mi?
    $myip = getHostByName(getHostName());
    echo $myip;
    https://stackoverflow.com/a/39684274
  • 17-10-2023, 04:24:28
    #3
    Merhaba, aşağıda ki kod işinizi görecektir.

    <?php
    $localIP = getHostByName(getHostName());
    echo "İp Adresiniz: " . $localIP;
    ?>
  • 17-10-2023, 04:29:33
    #4
    Hallederiz adlı üyeden alıntı: mesajı görüntüle
    Merhaba, aşağıda ki kod işinizi görecektir.

    <?php
    $localIP = getHostByName(getHostName());
    echo "İp Adresiniz: " . $localIP;
    ?>
    Çok teşekkür ederim hocam. Fakat bu sitenin kurulduğu makinenin ip adresini gösteriyor. Ben siteye giren kullanıcının local ipsini kendi görsün istiyorum
  • 17-10-2023, 04:33:31
    #5
    function GetIP(){
     if(getenv("HTTP_CLIENT_IP")) {
     $ip = getenv("HTTP_CLIENT_IP");
     } elseif(getenv("HTTP_X_FORWARDED_FOR")) {
     $ip = getenv("HTTP_X_FORWARDED_FOR");
     if (strstr($ip, ',')) {
     $tmp = explode (',', $ip);
     $ip = trim($tmp[0]);
     }
     } else {
     $ip = getenv("REMOTE_ADDR");
     }
     return $ip;
    }
    
    $ipAdresi = GetIP();
    echo $ipAdresi;
  • 17-10-2023, 04:37:37
    #6
    @StyleWaR; çok sağol hocam aradığım buydu..
  • 17-10-2023, 05:57:51
    #7
    BoogeymaN adlı üyeden alıntı: mesajı görüntüle
    Çok teşekkür ederim hocam. Fakat bu sitenin kurulduğu makinenin ip adresini gösteriyor. Ben siteye giren kullanıcının local ipsini kendi görsün istiyorum
    <?php
    if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
    }
    echo $_SERVER['REMOTE_ADDR'];
    ?>


    bu yeterlidir diğer arkadaşın verdiği kod yanlış sahte ip gönderebilirler.
    eğer cloudflare veya proxy server kullanmıyorsan kullanmıyorsan


    if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
    }

    bu kısmı kaldırman yeterli.
    yani sadece echo $_SERVER['REMOTE_ADDR']; yeterli.
  • 17-10-2023, 06:12:06
    #8
    @Neron;

    <?php
    if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
    }
    echo $_SERVER['REMOTE_ADDR'];
    ?>
    sadece bu şekilde ekledim hocam. Teşekkür ederim