[TIP] ตั้งค่า WordPress ให้มองเห็น IP Address จริง (Public IP) ของผู้ใช้งาน

ในกรณีที่เราไม่ได้ติดตั้ง WordPress ในเเบบปกติ อย่างเช่น Web นี้ เป็นต้น

เพราะเว็บนี้ อยู่หลัง CDN >> Load Balance >> Ingress Controller >> K8S Service >> Pod >> Container 

จะดูเยอะไปไหน ???

ใช่ครับ เยอะซะเหลือเกิน

ซึ่งการตั้งค่านี้ มันมีกรณีที่ว่า เวลามี User เข้ามา Comment หรือเเสดงความคิดเห็น ถ้าเรา Login เข้าไปดูหลังบ้าน มันจะเเสดง IP Address ของคนที่เข้ามา Comment ด้วย

แต่ถ้าเราลง WordPress เเบบที่ผมยกตัวอย่าง ที่จริงอาจไม่ต้องเยอะขนาดนั้น เเค่อยู่หลังพวก Revers Proxy ก็อาจมีผลได้

อันนี้ผมก็ไม่สามารถบอกได้เหมือนกัน ว่ากรณีไหนบ้าง ต้องลองเองนะครับ จึงจะรู้ได้

 

ซึ่งวิธีเเก้ของเว็บผม ให้เราเพิ่ม PHP Code ลงไปใน wp-config.php ตามนี้ครับ

 

if ( isset( $_SERVER[‘HTTP_X_ORIGINAL_FORWARDED_FOR’] ) ) {

        $http_x_headers = explode( ‘,’, $_SERVER[‘HTTP_X_ORIGINAL_FORWARDED_FOR’] );

        $_SERVER[‘REMOTE_ADDR’] = $http_x_headers[0];

}

สังเกตตรง HTTP_X_ORIGINAL_FORWARDED_FOR อันนี้คือชื่อ Header ที่มี Public IP ของ User นะครับ ใน Environment อื่นๆอาจต้องใช้ Header ตัวอื่น อย่างเช่น x-real-ip , x-forward-for อะไรพวกนี้ ก็ลองดูกันนะครับ

Network / Cloud Engineer , Instructor / Blogger รักเเละหลงไหลไปกับเทคโนโลยีต่างๆมากมาย

Leave A Reply