php - আইপ - ইন্টারনেট প্রোটোকল




পিএইচপি ব্যবহার করে ক্লায়েন্ট আইপি ঠিকানা পান (4)

এটি অভ্যন্তরীণ আইপি ঠিকানার জন্য জরিমানা করে:

 function get_client_ip()
 {
      $ipaddress = '';
      if (getenv('HTTP_CLIENT_IP'))
          $ipaddress = getenv('HTTP_CLIENT_IP');
      else if(getenv('HTTP_X_FORWARDED_FOR'))
          $ipaddress = getenv('HTTP_X_FORWARDED_FOR');
      else if(getenv('HTTP_X_FORWARDED'))
          $ipaddress = getenv('HTTP_X_FORWARDED');
      else if(getenv('HTTP_FORWARDED_FOR'))
          $ipaddress = getenv('HTTP_FORWARDED_FOR');
      else if(getenv('HTTP_FORWARDED'))
          $ipaddress = getenv('HTTP_FORWARDED');
      else if(getenv('REMOTE_ADDR'))
          $ipaddress = getenv('REMOTE_ADDR');
      else
          $ipaddress = 'UNKNOWN';

      return $ipaddress;
 }

এই প্রশ্নটি ইতিমধ্যে একটি উত্তর আছে:

আমি আমার ওয়েবসাইট ব্যবহার করে ক্লায়েন্ট আইপি ঠিকানা পেতে চান। আমি পিএইচপি $_SERVER superglobal ব্যবহার করছি:

$_SERVER['REMOTE_ADDR'];

কিন্তু আমি এটা ব্যবহার করে সঠিক আইপি ঠিকানা দিতে পারছি না। আমি আমার আইপি ঠিকানাটি পেয়েছি এবং এটি আমার আইপি ঠিকানার থেকে আলাদা এবং আমি কিছু আইপি ঠিকানা দেখতে পারি যেমন:

http://whatismyipaddress.com/

আমি আমার পিএইচপি ফাংশন দিতে আইপি ঠিকানা পেস্ট কিন্তু এই ওয়েবসাইট এই সম্পর্কে কোন ফলাফল দেখায়। এই সমস্যাটি কিভাবে আসে এবং আমি কিভাবে ক্লায়েন্টের আইপি ঠিকানা পেতে পারি?


পরিদর্শক / ক্লায়েন্টের আইপি ঠিকানা পেতে সবচেয়ে সহজ উপায় $_SERVER['REMOTE_ADDR'] বা $_SERVER['REMOTE_HOST'] ভেরিয়েবল ব্যবহার করছে।

যাইহোক, কখনও কখনও এটি পরিদর্শকের সঠিক আইপি ঠিকানাটি ফেরত দেয় না, তাই আমরা IP ঠিকানা পেতে অন্য সার্ভারের ভেরিয়েবলগুলি ব্যবহার করতে পারি।

নিচের দুটি ফাংশনগুলি কীভাবে এবং কোথা থেকে মানগুলি পুনরুদ্ধার করা হয় তা কেবলমাত্র পার্থক্যের সাথে সমতুল্য।

getenv () পিএইচপি পরিবেশগত পরিবর্তনশীল মান পেতে ব্যবহৃত হয়।

// Function to get the client IP address
function get_client_ip() {
    $ipaddress = '';
    if (getenv('HTTP_CLIENT_IP'))
        $ipaddress = getenv('HTTP_CLIENT_IP');
    else if(getenv('HTTP_X_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_X_FORWARDED_FOR');
    else if(getenv('HTTP_X_FORWARDED'))
        $ipaddress = getenv('HTTP_X_FORWARDED');
    else if(getenv('HTTP_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_FORWARDED_FOR');
    else if(getenv('HTTP_FORWARDED'))
       $ipaddress = getenv('HTTP_FORWARDED');
    else if(getenv('REMOTE_ADDR'))
        $ipaddress = getenv('REMOTE_ADDR');
    else
        $ipaddress = 'UNKNOWN';
    return $ipaddress;
}

$ _SERVER একটি অ্যারে যা ওয়েব সার্ভার দ্বারা তৈরি সার্ভারের ভেরিয়েবল ধারণ করে।

// Function to get the client IP address
function get_client_ip() {
    $ipaddress = '';
    if (isset($_SERVER['HTTP_CLIENT_IP']))
        $ipaddress = $_SERVER['HTTP_CLIENT_IP'];
    else if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
        $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
    else if(isset($_SERVER['HTTP_X_FORWARDED']))
        $ipaddress = $_SERVER['HTTP_X_FORWARDED'];
    else if(isset($_SERVER['HTTP_FORWARDED_FOR']))
        $ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
    else if(isset($_SERVER['HTTP_FORWARDED']))
        $ipaddress = $_SERVER['HTTP_FORWARDED'];
    else if(isset($_SERVER['REMOTE_ADDR']))
        $ipaddress = $_SERVER['REMOTE_ADDR'];
    else
        $ipaddress = 'UNKNOWN';
    return $ipaddress;
}

স্থানীয় এবং ল্যান আইপি ঠিকানার জন্য একটি ফিল্টার ব্যবহার করে আইপি ঠিকানা পেতে এখানে একটি ফাংশন:

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 $IPaddress){
                $IPaddress = trim($IPaddress); // Just to be safe

                if (filter_var($IPaddress,
                               FILTER_VALIDATE_IP,
                               FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)
                    !== false) {

                    return $IPaddress;
                }
            }
        }
    }
}

কুই


    $ipaddress = '';
    if ($_SERVER['HTTP_CLIENT_IP'] != '127.0.0.1')
        $ipaddress = $_SERVER['HTTP_CLIENT_IP'];
    else if ($_SERVER['HTTP_X_FORWARDED_FOR'] != '127.0.0.1')
        $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
    else if ($_SERVER['HTTP_X_FORWARDED'] != '127.0.0.1')
        $ipaddress = $_SERVER['HTTP_X_FORWARDED'];
    else if ($_SERVER['HTTP_FORWARDED_FOR'] != '127.0.0.1')
        $ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
    else if ($_SERVER['HTTP_FORWARDED'] != '127.0.0.1')
        $ipaddress = $_SERVER['HTTP_FORWARDED'];
    else if ($_SERVER['REMOTE_ADDR'] != '127.0.0.1')
        $ipaddress = $_SERVER['REMOTE_ADDR'];
    else
        $ipaddress = 'UNKNOWN';






ip-address