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ủ?

Được hỏi 11 tháng trước
Bình chọn bởi Hoàng Giang, Tony Huynh, Nguyễn Đạt, Trung Võ, Đức Nam, Truc Le, Khuê Vũ, Tuấn Anh, Văn Doanh Lưu

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 11 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 11 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: