Hàm lấy IP thực của máy clien bằng PHP máy tính

Bạn đã bao giờ dùng $_SERVER[‘REMOTE_ADDR’] để dò IP của máy client bao giờ chưa? Bạn sẽ ngạc nhiên khi nó không trả về IP thật của máy khách bất kỳ lúc nào. Nếu máy client (máy khách) mà có dùng proxy thì nó chỉ trả về địa chỉ IP của thằng máy chủ proxy chứ không bao giờ trả về địa chỉ IP của máy khách cả. Vì vậy hàm PHP dưới đây sẽ khắc phục mấy thứ link tinh ở trên để tìm ra địa chỉ thật của thằng client.

function getRealIpAddr()
{
if (!empty($_SERVER[‘HTTP_CLIENT_IP’])) //check ip from share internet
{
$ip=$_SERVER[‘HTTP_CLIENT_IP’];
}
elseif (!empty($_SERVER[‘HTTP_X_FORWARDED_FOR’]))
//to check ip is pass from proxy
{
$ip=$_SERVER[‘HTTP_X_FORWARDED_FOR’];
}
else
{
$ip=$_SERVER[‘REMOTE_ADDR’];
}
return $ip;
}

Trong hàm PHP, đầu tiên là nó lấy địa chỉ IP của máy client nếu không có sẵn thì nó
chuyển qua dùng HTTP_X_FORWARDED_FOR. nếu mà không lấy được nữa thì nó sẽ
dùng cái này REMOTE_ADDR để lấy. Thoát đi đâu được🙂

Post a comment or leave a trackback: Trackback URL.

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: