PHP lấy địa chỉ IP của trình duyệt

Sử dụng hàm nào của PHP để có thể lấy ra địa chỉ IP của trình duyệt gửi yêu cầu tới máy chủ?

Hói 4 tháng trước

Hàm bạn cần sẽ có dạng như sau:

function getClientIP() {
    return isset($_SERVER['HTTP_CLIENT_IP']) ? $_SERVER['HTTP_CLIENT_IP'] :
        isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] :
        isset($_SERVER['HTTP_X_FORWARDED']) ? $_SERVER['HTTP_X_FORWARDED'] :
        isset($_SERVER['HTTP_FORWARDED_FOR']) ? $_SERVER['HTTP_FORWARDED_FOR'] :
        isset($_SERVER['HTTP_FORWARDED']) ? $_SERVER['HTTP_FORWARDED'] :
        isset($_SERVER['REMOTE_ADDR']) ? '$_SERVER['REMOTE_ADDR'] : 'Unknown IP';
}

Hoặc bạn có thể sử dụng hàm getenv() trong PHP 5.3 hoặc các phiên bản về sau:

function getClientIP() {
    return getenv('HTTP_CLIENT_IP') ? :
        getenv('HTTP_X_FORWARDED_FOR') ? :
        getenv('HTTP_X_FORWARDED') ? :
        getenv('HTTP_FORWARDED_FOR') ? :
        getenv('HTTP_FORWARDED') ? :
        getenv('REMOTE_ADDR') ? : 'Unknown IP';
}
Trả lời 4 tháng trước

PHP cung cấp biến toàn cục $_SERVER là một mảng array chứa các thông tin liên quan tới server và môi trường thực thi trong đó có địa chỉ IP của máy khách.

Để lấy địa chỉ IP của máy khách (có thể là trình duyệt hoặc một chương trình client khác như curl hay wget...) gửi yêu cầu tới máy chủ:

echo $__SERVER['REMOTE_ADDR'];
Trả lời 4 tháng trước

Bạn có thể sử dụng $_SERVER['REMOTE_HOST'] hoặc $_SERVER['REMOTE_ADDR'] trong biến $_SERVER.

Trả lời 2 ngày trước

Viết Trả Lời: