Hướng dẫn get ip php code

Cách 1 : Lấy địa chỉ IP thông qua hàm 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;
}

Cách dùng

echo get_client_ip[];

Cách 2 : Hướng dẫn lấy địa chỉ IP thông qua $_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;
}

Nhiều khi chúng ta cần lấy địa chỉ IP của người truy cập cho các mục đích khác nhau như bảo mật, huyển hướng khách truy cập đến trang khác, chặn / cấm khách truy cập....

Nội dung chính

  • Lấy địa chỉ IP của client
  • Sơ đồ lấy chương trình lấy địa chỉ IP
  • Lấy địa chỉ IP của website
  • Cách 1 : Lấy địa chỉ IP thông qua hàm getenv[]
  • Cách 2 : Hướng dẫn lấy địa chỉ IP thông qua $_SERVER

Vậy để thu thập được địa chỉ IP của người dùng một cách dễ dàng trong PHP bằng biến $_SERVER

Cách đơn giản nhất để lấy địa chỉ IP của khách truy cập hiện tại trong PHP là sử dụng REMOTE_ADDR trong biến $_SERVER có sẵn trong PHP. 

Lấy địa chỉ IP của client

$_SERVER ['REMOTE_ADDR'] - Nó trả về địa chỉ IP của người dùng hiện đang truy cập trang web.

Ví dụ: 

  

Kết quả :

User IP Address - ::1

Nhưng đôi khi REMOTE_ADDR không trả về địa chỉ IP của máy khách và lý do chính đằng sau là sử dụng proxy. Trong tình huống như vậy, chúng tôi sẽ thử một cách khác để lấy địa chỉ IP thực của người dùng trong PHP.

  

Sơ đồ lấy chương trình lấy địa chỉ IP

Sơ đồ cho chương trình trên sẽ giống như dưới đây.

Lấy địa chỉ IP của website

Một cách khác để lấy địa chỉ IP của bất kỳ trang web nào bằng URL của nó bằng gethostbyname[].

Ví dụ:

  

Kết quả: 

IP Address of Google is - 172.217.166.4
IP Address of javaTpoint is - 95.216.57.234

Cách 1 : Lấy địa chỉ IP thông qua hàm 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;
}

Cách dùng

echo get_client_ip[];

Cách 2 : Hướng dẫn lấy địa chỉ IP thông qua $_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;
}

$ _SERVER là một biến toàn cục của PHP chứa thông tin về tiêu đề, đường dẫn và vị trí tập lệnh.

$_SERVER['SERVER_ADDR']  Returns IP address của host

$_SERVER['SERVER_NAME']  Returns Hostname Server

Chúc các bạn thành công.

Chủ Đề