3 Câu Trả Lời

Minh Phạm

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';
}
Thêm bình luận
Huỷ
Lê Trung

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'];
Thêm bình luận
Huỷ

Thêm Trả Lời

Câu Hỏi Liên Quan