2010-09-28 34 views

Trả lời

26

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

+0

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

+17

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

+2

@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

2

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.

Các vấn đề liên quan