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 Show Nội dung chính
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ả
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ả
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ìnhSơ đồ cho chương trình trên sẽ giống như dưới đây Nhận địa chỉ IP của trang webMộ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ả.
$ _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 $_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 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 0Lư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ế |