Http_x_forwarded_cho 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, chuyể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

  • Nhận địa chỉ IP của khách hàng
  • Sơ đồ lấy địa chỉ IP của chương trình
  • Nhận địa chỉ IP của trang web
  • Cách 1. Get IP address information through function getenv()
  • cách 2. Hướng dẫn lấy địa chỉ IP thông qua $_SERVER

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

Nhận địa chỉ IP của khách hàng

$_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 đằng sau chính là sử dụng proxy. Trong trường hợp 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

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, chuyể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 Hiển thị

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

Nhận địa chỉ IP của khách hàng

$_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 đằng sau chính là sử dụng proxy. Trong trường hợp 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 địa chỉ IP của chương trình

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

Nhận địa chỉ IP của trang web

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ụ

";  
$ip_address = gethostbyname("www.javatpoint.com");  
echo "IP Address of javaTpoint is - ".$ip_address;  
?>  

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 lệnh

echo$_SERVER['PHP_SELF
echo $_SERVER['PHP_SELF'];
echo "
"
;
echo $_SERVER['SERVER_NAME'];
echo "
"
;
echo $_SERVER['HTTP_HOST'];
echo "
"
;
echo $_SERVER['HTTP_REFERER'];
echo "
"
;
echo $_SERVER['HTTP_USER_AGENT'];
echo "
"
;
echo $_SERVER['SCRIPT_NAME'];
?>

$_SERVER['SERVER_ADDR']  Trả về địa chỉ IP của máy chủ lưu trữ

$_SERVER['SERVER_NAME']  Trả về máy chủ tên máy chủ

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

Việc lấy địa chỉ IP của khách truy cập trang web được sử dụng với nhiều mục đích khác nhau. Ví dụ: lấy thông tin trạng thái, đất nước…người dùng rồi từ đó sẽ có những điều hướng trang web thích hợp hơn. Bạn có 1 trang web đa ngôn ngữ và khi biết khách truy cập truy cập từ đâu thì bạn sẽ nhanh chóng hiển thị thông tin phù hợp với vị trí của khách hàng đó

Tất cả thông tin liên quan đến địa chỉ IP được chứa trong mảng $_SERVER. Nếu bạn muốn kiểm tra mảng $_SERVER có chứa những thông tin gì thì có thể sử dụng đoạn mã sau

";
}
?>

Các bạn có thể tham khảo một số thông tin nhận được như sau

________số 8

Và cách dễ dàng nhất để lấy địa chỉ IP của khách truy cập đã truy cập là sử dụng trường (trường) REMOTE_ADDR

$ip = $_SERVER['REMOTE_ADDR'];

Câu lệnh trên sẽ giúp chúng tôi lấy được địa chỉ IP một cách trực tiếp nhưng nếu người dùng truy cập trang web của bạn thông qua Proxy thì kết quả sẽ không chính xác nữa. Khi đó câu lệnh trên sẽ trả về địa chỉ IP của Proxy thay vì địa chỉ đó là sự thật của người dùng

https. //Tranh sơn dầu. uccs. edu/eportfolios/10298/Home/How_do_Stock_Market_effects_Economy_

Cách giải quyết là chúng ta sẽ sử dụng đến trường X-Forwarded-For hoặc Client-Ip có trong HTTP Header chứa địa chỉ IP của người dùng

Và đoạn mã hoàn chỉnh mà tôi muốn giới thiệu đến các bạn

User IP Address - ::1
0

Lưu ý.

1) Trong quá trình tìm hiểu các thông tin liên quan đến bài viết này, tối thiểu để có ý kiến ​​trên trang Stackoverflow như sau

Như các bạn đã thấy, có một số người đã cảnh báo về 2 biến X-Forwarded-For và Client-Ip vì người dùng có thể thay đổi các giá trị này. Vì không học chuyên sâu về chuyên ngành Mạng nên mình cũng không rõ về những điều này lắm. Dù sao thì các bạn cũng nên cẩn thận khi thao tác với những trường (lĩnh vực) này. Nhưng các bạn cũng không nên quá lo lắng để thay đổi những giá trị này thì đòi hỏi phải có kiến ​​thức chuyên môn nhất định mà khách truy cập web các bạn không phải ai cũng có kiến ​​thức như thế