# ป้องกันการนำสตรีมไปใช้ที่อื่นด้วย Signed URL
หากคุณไม่ต้องการให้ผู้อื่น นำลิงก์ของไลฟ์สตรีมไปใช้บนเว็บหรือแอพลิเคชันอื่นโดยตรง โดยที่ไม่ได้รับอนุญาต สามารถบังคับให้ผู้ใช้ต้องเรียกผ่าน Signed URL ได้
Signed URL คือ URL ที่ถูกสร้างขึ้นจาก URL ปกติ แต่เพิ่มคิวรีสตริงบังคับลงไป โดย Signed URL นั้นจะเรียกใช้ได้ตามปกติ เมื่อมีการเรียกใช้ถูกต้องตามเงื่อนไขที่ผู้สร้างกำหนดไว้ และ Signed URL นั้นยังไม่หมดอายุแล้วเท่านั้น
# การเปิดบังคับให้ใช้งาน Signed URL
- เข้าสู่ ByteArk Fleet (https://fleet.byteark.com) (opens new window) เลือกเซอร์วิสที่ต้องการจัดการ จากนั้นไปที่แท็บ Settings ของเซอร์วิสนั้น
- คลิกที่ปุ่ม
- คัดลอก Secret เพื่อนำไปใช้สร้าง Signed URL สำหรับเว็บและแอพลิเคชันของคุณด้วย SDK ต่อไป
# การสร้าง Signed URL ด้วย SDK
เราได้จัดเตรียม SDK สำหรับสร้าง Signed URL ด้วยภาษาโปรแกรมยอดนิยมไว้ให้ใช้ได้ดังนี้
- NodeJS (byteark/byteark-sdk-js) (opens new window)
- PHP (byteark/byteark-sdk-php) (opens new window)
- Go (byteark/byteark-sdk-go) (opens new window)
# ตัวอย่างโค้ดวิธีการสร้าง Signed URL
WARNING
สำหรับการสร้าง Signed URL เพื่อใช้กับ Live Streaming นั้นจะต้องระบุออพชัน path_prefix เสมอ
# เงื่อนไขการใช้งาน Signed URL ที่สามารถบังคับได้
# x_ark_expires (จำเป็นต้องใช้)
กำหนดเวลาหมดอายุของลิงก์เป็น Unix Timestamp หากมีผู้เรียกใช้ลิงก์เมื่อพ้นเวลาที่ระบุไปแล้ว จะได้ Error Response โดยมี Status เป็น 410 Gone
# x_ark_path_prefix (จำเป็นต้องใช้)
กำหนดให้ Signature ที่สร้างขึ้นสามารถใช้ได้กับ Signed URL นี้ และ Signed URL อื่นๆ ที่มีพาธขึ้นต้นตรงกับที่ระบุไว้ มักใช้เพื่อสร้าง Signed URL ครั้งเดียวเพื่อให้สิทธิ์เรียก URL ในไดเรกทอรีนั้นๆ ทั้งหมด
ให้ระบุ path_prefix เป็นพาธตั้งต้นก่อนถึงส่วนที่เป็น playlist.m3u8
# x_ark_geo_allow
กำหนดให้ URL นี้เรียกได้จากประเทศที่ระบุเท่านั้น หากต้องการระบุหลายประเทศให้คั่นด้วย ,
# x_ark_geo_block
กำหนดให้ URL นี้ไม่สามารถเรียกได้จากประเทศที่ระบุ หากต้องการระบุหลายประเทศให้คั่นด้วย ,