Sự khác nhau giữa hai biến này là gì?Sự khác biệt giữa REMOTE_HOST và REMOTE_ADDR
REMOTE_HOST
và REMOTE_ADDR
.
Sự khác nhau giữa hai biến này là gì?Sự khác biệt giữa REMOTE_HOST và REMOTE_ADDR
REMOTE_HOST
và REMOTE_ADDR
.
REMOTE_HOST liên quan đến tên máy chủ của khách hàng (ví dụ: máy tính đưa ra yêu cầu). REMOTE_ADDR đề cập đến địa chỉ IP của khách hàng.
Sẽ có lúc tên máy chủ không thể giải quyết được vì vậy REMOTE_HOST sẽ trả lại REMOTE_ADDR hoặc địa chỉ IP thay thế.
1. $_SERVER['REMOTE_ADDR']
- Địa chỉ này chứa địa chỉ IP thực của khách hàng. Đó là giá trị đáng tin cậy nhất mà bạn có thể tìm thấy từ người dùng.
2. $_SERVER['REMOTE_HOST']
- Thao tác này sẽ tìm nạp tên máy chủ mà người dùng đang xem trang hiện tại. Nhưng để kịch bản này hoạt động, tra cứu tên máy chủ lưu trữ Trên httpd.conf bên trong phải được định cấu hình.
Tôi muốn đề cập rằng có thể thấy kết quả không mong muốn nếu có máy chủ proxy ở giữa. – dotfreelancer
Câu trả lời này sai, hoặc gây hiểu lầm tốt nhất. REMOTE_HOST là tên máy của * client *, tức là máy tính tạo yêu cầu, không phải máy chủ. REMOTE_ADDR là địa chỉ IP của máy khách. (nguồn: http://php.net/manual/en/reserved.variables.server.php, http://msdn.microsoft.com/en-us/library/ms524602(v=vs.90).aspx) – mhenry1384
@Ruel Bạn có thể sửa câu trả lời của mình không? Bạn đang mô tả 'SERVER_ADDR' và' HTTP_HOST' theo như tôi có thể nói. – Sumurai8