คำชี้แจงสำหรับข้อความเกี่ยวกับออบเจ็กต์ SharedArrayBuffer

วันศุกร์ที่ 19 มีนาคม 2021

บางคนอาจได้รับอีเมลจาก Google Search Console ชื่อเรื่อง "ข้อกำหนดใหม่สำหรับ SharedArrayBuffers" เราได้รับความคิดเห็นว่าข้อความดังกล่าวทำให้เกิดความสับสนและอยากจะให้ข้อมูลเชิงลึกเพิ่มเติมเกี่ยวกับประเด็นดังกล่าว เพื่อให้คุณตัดสินใจได้ว่าควรจะทำขั้นตอนใดต่อไป นอกจากนี้เรายังได้อัปเดตคำแนะนำเกี่ยวกับการเปิดใช้การแยกแบบข้ามต้นทางเพื่อให้รายละเอียดเพิ่มเติมอีกด้วย

เหตุใดฉันจึงได้รับข้อความดังกล่าว

คุณได้รับข้อความเนื่องจากเราตรวจพบว่า JavaScript บนเว็บไซต์ของคุณใช้ออบเจ็กต์ SharedArrayBuffer อยู่ในขณะนั้น การใช้งานนี้อาจเกิดจากเฟรมเวิร์ก ไลบรารี หรือเนื้อหาของบุคคลที่สามอื่นๆ ที่อยู่ในเว็บไซต์ดังกล่าว

SharedArrayBuffer คืออะไร

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

ในขณะที่ทาง Chrome เปิดใช้ออบเจ็กต์นี้บนเดสก์ท็อปอีกครั้งด้วยการแยกเว็บไซต์เพื่อเป็นการแก้ปัญหาชั่วคราว ก็ได้มีการกำหนดให้การแยกแบบข้ามต้นทางเป็นวิธีมาตรฐานในการเปิดใช้ออบเจ็กต์ SharedArrayBuffer อย่างปลอดภัย เริ่มตั้งแต่เวอร์ชัน 92 ซึ่งวางแผนจะเปิดตัวในช่วงปลายเดือนพฤษภาคม 2021 นี้ Chrome จะกั้นออบเจ็กต์ SharedArrayBuffer ไว้ข้างหลังการแยกแบบข้ามต้นทาง ซึ่ง Firefox ก็เปิดใช้ออบเจ็กต์ SharedArrayBuffer ในสภาพแวดล้อมแบบข้ามต้นทางเช่นเดียวกันในเวอร์ชัน 76 เราหวังว่าเบราว์เซอร์อื่นๆ จะทำเช่นเดียวกันเร็วๆ นี้

ค้นหาการใช้ออบเจ็กต์ SharedArrayBuffer บนเว็บไซต์ของคุณ

คุณมี 2 ตัวเลือกต่อไปนี้

  1. ใช้เครื่องมือสำหรับนักพัฒนาเว็บใน Chrome และตรวจสอบหน้าที่มีความสําคัญ
  2. (ขั้นสูง) ใช้ Reporting API เพื่อส่งรายงานการเลิกใช้งานไปยังปลายทางการรายงาน

ดูวิธีดำเนินการตามแนวทางข้างต้นได้ที่ตรวจสอบว่ามีการใช้ออบเจ็กต์ SharedArrayBuffer ที่ใดบ้างในเว็บไซต์ของคุณ

ขั้นตอนถัดไป

สําหรับขั้นตอนถัดไป เราขอแนะนําให้คุณทำดังนี้

  1. ระบุตําแหน่งที่มีการใช้ออบเจ็กต์ SharedArrayBuffer ในเว็บไซต์
  2. ตัดสินใจว่าจำเป็นต้องใช้หรือไม่
  3. แก้ไขปัญหาด้วยการนําฟังก์ชันการทํางานออกหรือเปิดใช้การแยกแบบข้ามต้นทาง

หากคุณไม่เคยได้ยินเกี่ยวกับออบเจ็กต์ SharedArrayBuffer มาก่อน และได้รับข้อความจาก Search Console อาจเป็นไปได้ว่าทรัพยากรของบุคคลที่สามในเว็บไซต์มีการใช้ออบเจ็กต์ดังกล่าวอยู่ เมื่อคุณพบหน้าเว็บที่ได้รับผลกระทบและรู้ว่าใครเป็นเจ้าของทรัพยากรนั้นแล้ว ให้ติดต่อผู้ให้บริการทรัพยากรและขอให้แก้ไขปัญหา

หลังจากเผยแพร่ Chrome 92 แล้ว ออบเจ็กต์ SharedArrayBuffer ที่ไม่มีการแยกแบบข้ามต้นทางจะไม่ทํางานอีกต่อไป ในทางปฏิบัติหมายความว่า ผู้ใช้ Chrome อาจพบว่าเว็บไซต์ของคุณมีประสิทธิภาพน้อยลงในทำนองเดียวกับการไม่รองรับออบเจ็กต์ SharedArrayBuffer ในสถานการณ์อื่นๆ

เราหวังว่าการชี้แจงนี้จะเป็นประโยชน์แม้ว่าคุณจะไม่ได้รับข้อความก็ตาม หากมีข้อสงสัยใดๆ เราขอแนะนำให้โพสต์คำถามในชุมชนความช่วยเหลือของ Search Central เพื่อรับข้อมูลจากผู้เชี่ยวชาญคนอื่นๆ