ข้ามไปเนื้อหา

ตัวระบุเซสชัน

จากวิกิพีเดีย สารานุกรมเสรี

ในวิทยาการคอมพิวเตอร์ ตัวระบุเซสชัน (อังกฤษ: session identifier) หรือที่รู้จักกันในชื่อ session ID หรือ session token เป็นข้อมูลที่ใช้ในการสื่อสารผ่านเครือข่ายคอมพิวเตอร์ (มักจะผ่าน HTTPS) เพื่อใช้ระบุเซสชันซึ่งเป็นชุดการแลกเปลี่ยนข้อความที่เกี่ยวข้องกัน ตัวระบุเซสชันจะจำเป็นเมื่อโครงสร้างพื้นฐานของการสื่อสารนั้นใช้โพรโทคอลแบบไร้สถานะ เช่น HTTP

จุดประสงค์และฟังก์ชันการทำงาน

[แก้]

ตัวระบุเซสชันช่วยให้เว็บแอปสามารถรักษาสถานะ (state) ระหว่างการร้องขอหลายครั้งได้ ตัวอย่างเช่น ในอีคอมเมิร์ซ session ID จะช่วยใช้ตามสถานะตะกร้าสินค้าของผู้ใช้ขณะที่เรียกดูหน้าต่าง ๆ ของเว็บไซต์ หากไม่มี session ID การเชื่อมโยงการร้องขอหลายครั้งจากผู้ใช้คนเดียวกันเมื่อมีผู้ใช้ต่าง ๆ ที่โต้ตอบอย่างต่อเนื่องกับเว็บไซต์ ก็จะทำได้ยาก

ลักษณะเฉพาะ

[แก้]

ตัวระบุเซสชันมักจะกำหนดให้กับผู้ใช้เมื่อเข้าชมเว็บไซต์ในครั้งแรก นี่ต่างกับ user ID เพราะปกติมีอายุสั้น จะหมดอายุหลังการไม่มีกิจกรรมตามเวลาที่กำหนดไว้ โดยเป็นนาทีหรือชั่วโมง และอาจใช้งานไม่ได้หลังจากบรรลุเป้าหมายบางอย่างแล้ว (เช่น หลังจากเสร็จสิ้นการสั่งซื้อ)

ข้อพิจารณาด้านความปลอดภัย

[แก้]

Session ID อาจเสี่ยงต่อการไฮแจ็กเซสชันซึ่งผู้โจมตีจะดักขโมย session ID แล้วใช้มันเพื่อปลอมตัวเป็นผู้ใช้ เพื่อลดความเสี่ยงนี้

  • Session ID มักจะสร้างขึ้นเป็นสายตัวอักษรแบบสุ่มเพื่อลดโอกาสการถูกโจมตีด้วยกำลัง
  • เซิร์ฟเวอร์อาจตรวจสอบไคลเอนต์เพิ่มเติม
  • เซิร์ฟเวอร์อาจล็อก session ID กับที่อยู่ไอพี ซึ่งได้ผลดี แต่สามารถสร้างปัญหากับไคลเอนต์ที่มีเส้นทางหลายทางไปยังเซิร์ฟเวอร์ โดยที่อยู่ไอพีจะเปลี่ยนไปตาม Network Address Translation (NAT)

ตัวอย่างการใช้งาน

[แก้]

เทคโนโลยีเว็บใช้ชื่อต่าง ๆ กันสำหรับคุกกี้เซสชัน เช่น

  • Java EE: JSESSIONID
  • PHP: PHPSESSID
  • Microsoft ASP: ASPSESSIONID
  • ASP.NET: ASP.NET_SessionId

ดูเพิ่ม

[แก้]

แหล่งข้อมูลอื่น

[แก้]