3 Câu Trả Lời

Nguyễn Đạt Nguyễn Đạt

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

Minh Phạm 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';
}
Lê Trung 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'];
Nội dung tối thiểu 100 ký tự

Câu Hỏi Liên Quan