ใน php เรามักจะใช้ $_SERVER['REMOTE_ADDR'] เพื่อรับ IP ของผู้เยี่ยมชม แต่เมื่อผู้เยี่ยมชมใช้พรอกซี ก็จะสามารถรับได้เฉพาะ IP ของพร็อกซีเท่านั้น ในขณะนี้ คุณสามารถใช้ฟังก์ชันต่อไปนี้เพื่อรับ IP ที่แท้จริงของผู้เยี่ยมชม:
function getRealIpAddr(){
if (!empty($_SERVER['HTTP_CLIENT_IP']))//ตรวจสอบ ip จากแชร์อินเทอร์เน็ต
$ip=$_SERVER['HTTP_CLIENT_IP'];
-
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){// เพื่อตรวจสอบว่า IP ถูกส่งผ่านจากพร็อกซี
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}อื่น{
$ip=$_SERVER['REMOTE_ADDR'];
-
ส่งคืน $ip;
}
ที่จริงแล้ว ฟังก์ชันนี้ไม่ได้มีอำนาจทุกอย่าง ดังที่เราทุกคนทราบกันดีว่าข้อมูลส่วนหัวสามารถปลอมแปลงได้ โอ(∩_∩)โอ