• 08-11-2021, 15:45:27
    #1
    <?php
    echo $_SERVER["REMOTE_ADDR"];
    ?>
    kodu ile ip adresi aldığımda 172.69.182.182 gibi benim olmayan saçma bir ip adresi geliyor kendi ip adresimi kontrol ettiğimde 8*.2**.*8.2*2 ip adresi çıkıyor.


    Ubuntu üzerinden apache2 ile siteyi yayınlıyorum.
    (cloudflare bağlı)
  • Kabul Edilen Cevap
    • 1 Beğeni
      mrgamingtr adlı üyeden alıntı: mesajı görüntüle
      <?php
      echo $_SERVER["REMOTE_ADDR"];
      ?>
      kodu ile ip adresi aldığımda 172.69.182.182 gibi benim olmayan saçma bir ip adresi geliyor kendi ip adresimi kontrol ettiğimde 8*.2**.*8.2*2 ip adresi çıkıyor.


      Ubuntu üzerinden apache2 ile siteyi yayınlıyorum.
      (cloudflare bağlı)
      Merhaba mrgamingtr,

      Öncelikle apache e mod_cloudflare kurunuz. Nginx ise şunu deneyin; https://community.cloudflare.com/t/how-to-install-mod-cloudflare-using-plesk-not-through-the-extension-please-through-ssh/47566/2

      Sonrasında ikincil kod öbeğini deneyin; https://www.cliaweb.com/knowledgebase/115/PhP-ile-IP-Adresi-Ogrenme.html

      İyi çalışmalar.
  • 08-11-2021, 15:47:16
    #2
    Bu fonksiyonu deneyebilirsiniz;

    function getUserIP()
    {
    // Get real visitor IP behind CloudFlare network
    if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
    $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
    $_SERVER['HTTP_CLIENT_IP'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
    }
    $client = @$_SERVER['HTTP_CLIENT_IP'];
    $forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
    $remote = $_SERVER['REMOTE_ADDR'];
    
    if(filter_var($client, FILTER_VALIDATE_IP))
    {
    $ip = $client;
    }
    elseif(filter_var($forward, FILTER_VALIDATE_IP))
    {
    $ip = $forward;
    }
    else
    {
    $ip = $remote;
    }
    
    return $ip;
    }
    
    
    $user_ip = getUserIP();
    
    echo $user_ip;
  • 08-11-2021, 15:48:03
    #3
    celalyesil adlı üyeden alıntı: mesajı görüntüle
    Bu fonksiyonu deneyebilirsiniz;

    function getUserIP()
    {
    // Get real visitor IP behind CloudFlare network
    if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
    $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
    $_SERVER['HTTP_CLIENT_IP'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
    }
    $client = @$_SERVER['HTTP_CLIENT_IP'];
    $forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
    $remote = $_SERVER['REMOTE_ADDR'];
    
    if(filter_var($client, FILTER_VALIDATE_IP))
    {
    $ip = $client;
    }
    elseif(filter_var($forward, FILTER_VALIDATE_IP))
    {
    $ip = $forward;
    }
    else
    {
    $ip = $remote;
    }
    
    return $ip;
    }
    
    
    $user_ip = getUserIP();
    
    echo $user_ip;
    hemen deniyorum
  • 08-11-2021, 15:50:20
    #4
    function getUserIP()
    {
    // Get real visitor IP behind CloudFlare network
    if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
    $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
    $_SERVER['HTTP_CLIENT_IP'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
    }
    $client = @$_SERVER['HTTP_CLIENT_IP'];
    $forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
    $remote = $_SERVER['REMOTE_ADDR'];
    
    if(filter_var($client, FILTER_VALIDATE_IP))
    {
    $ip = $client;
    }
    elseif(filter_var($forward, FILTER_VALIDATE_IP))
    {
    $ip = $forward;
    }
    else
    {
    $ip = $remote;
    }
    
    return $ip;
    }
    
    
    $user_ip = getUserIP();
    
    echo $user_ip;


    function get_ip_address(){ foreach (array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR') as $key){ if (array_key_exists($key, $_SERVER) === true){ foreach (explode(',', $_SERVER[$key]) as $ip){ $ip = trim($ip); // just to be safe
    if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) !== false){ return $ip; } } } }
    }
    Arasındaki farklar nedir ?
  • 08-11-2021, 15:52:20
    #5
    Cloudflare bağlı ise yanlış ip verir cf kaldırıp deneyin.
  • 08-11-2021, 15:53:32
    #6
    LETRX adlı üyeden alıntı: mesajı görüntüle
    Cloudflare bağlı ise yanlış ip verir cf kaldırıp deneyin.
    Evet sorun cf den kaynaklanıyor ama onu kaldırdığım zaman ssl ve dns ayarlarım gidiyor
  • 08-11-2021, 15:54:27
    #7
    mrgamingtr adlı üyeden alıntı: mesajı görüntüle
    Evet sorun cf den kaynaklanıyor ama onu kaldırdığım zaman ssl ve dns ayarlarım gidiyor
    Ssl i kendi hostunuzdan alın hangi vhm kullanıyorsunuz bilmiyorum ama ücretsiz ssl çekin dns ayarlarınızı domain serverından yapın.
  • 08-11-2021, 15:58:32
    #8
    Bu cevap, konu sahibi tarafından kabul edilebilir bir cevap olarak işaretlendi.
    mrgamingtr adlı üyeden alıntı: mesajı görüntüle
    <?php
    echo $_SERVER["REMOTE_ADDR"];
    ?>
    kodu ile ip adresi aldığımda 172.69.182.182 gibi benim olmayan saçma bir ip adresi geliyor kendi ip adresimi kontrol ettiğimde 8*.2**.*8.2*2 ip adresi çıkıyor.


    Ubuntu üzerinden apache2 ile siteyi yayınlıyorum.
    (cloudflare bağlı)
    Merhaba mrgamingtr,

    Öncelikle apache e mod_cloudflare kurunuz. Nginx ise şunu deneyin; https://community.cloudflare.com/t/how-to-install-mod-cloudflare-using-plesk-not-through-the-extension-please-through-ssh/47566/2

    Sonrasında ikincil kod öbeğini deneyin; https://www.cliaweb.com/knowledgebase/115/PhP-ile-IP-Adresi-Ogrenme.html

    İyi çalışmalar.
  • 08-11-2021, 15:59:51
    #9
    Cevaplar için teşekkürler sorunu cevaplarınız sayesinde hallettim