Hướng dẫn _server remote address php

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....

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

$ _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.

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;
}

Chủ Đề