Get Adobe Flash player

การตรวจสอบ OS, Web Browser ของผู้ใช้จาก HTTP User Agent

เมื่อใช้ Web Browser เข้าใช้งานเว็บไซต์จะมีตัวแปร (Object) อยู่ตัวหนึ่งใน JavaScript ชื่อว่า navigator (window.navigator) ดังภาพ

Object navigator นั้นจะมี Property มากมายที่สามารถนำไปใช้ได้ หนึ่งในนั้นคือ userAgent คือสิ่งที่เราจะใช้ในการระบุว่าผู้ใช้นี้ใช้งานเว็บไซต์ของเราผ่าน OS อะไร ด้วย Web Browser อะไร รุ่นไหน ดังภาพ

เมื่อเรียกใช้งาน window.navigator.userAgent ดังตัวอย่างจะได้ข้อความ “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36” เรียกว่า User Agent String โปรดสังเกตจะพบว่าในข้อความมีระบุอยู่ว่าเป็น OS ประเภท Macintosh รุ่น OSX 10_13_2 ส่วน Web Browser เป็น Chrome รุ่น 63

โดยทั้งหมดนี้เป็นการเรียกดูในฝั่งผู้ใช้ (Client) ถ้าต้องการเรียกดูในฝั่ง Server ก็สามารถทำได้เช่นกัน ตัวอย่างในภาษา PHP จะใช้ $_SERVER[‘HTTP_USER_AGENT’]

วิธี Extract เพื่อแยก OS, Web Browser อย่างง่าย ๆ จาก User Agent String ผู้เขียนใช้วิธีการตรวจสอบกับเว็บไซต์ http://www.useragentstring.com/ สามารถค้นหาโดยการใช้ User Agent String ไปค้นโดยตรง หรือเรียกใช้งานผ่าน Web API

ถ้าต้องการใช้งาน Web API แนะนำให้เรียกในฝั่ง Server (เพราะจากการทดลองใช้งาน Web API ด้วย JavaScript จะติดปัญหาเรื่อง Cross domain) ดังตัวอย่างจะเป็นการเรียก Web API ด้วย PHP cURL

 

Web API จะตอบกลับ (Respond) เป็นข้อความในรูปแบบ JSON สามารถใช้ json_decode เพื่อแปลงให้อยู่ตัวแปร Array หรือ Object จากนั้นแสดงผลผ่าน print_r จะได้โครงสร้างทั้งหมดของ $useragent ดังภาพ

Leave a Reply

Your email address will not be published. Required fields are marked *