คีย์ไฟล์ Manifest ที่ไม่บังคับซึ่งมีนโยบายรักษาความปลอดภัยเนื้อหาของแพลตฟอร์มเว็บ ซึ่งระบุข้อจำกัดเกี่ยวกับสคริปต์ รูปแบบ และทรัพยากรอื่นๆ ที่ส่วนขยายใช้ได้ ภายในคีย์ไฟล์ Manifest นี้ คุณจะกำหนดนโยบายที่ไม่บังคับแยกต่างหากได้สำหรับทั้งหน้าส่วนขยายและหน้าส่วนขยายแซนด์บ็อกซ์
"หน้าส่วนขยาย" ซึ่งนโยบายจะมีผลกับบริบทของหน้าเว็บและผู้ปฏิบัติงานในส่วนขยาย ซึ่งรวมถึงป๊อปอัปส่วนขยาย ผู้ปฏิบัติงานในเบื้องหลัง และแท็บที่มีหน้า HTML หรือ iframe ที่ส่วนขยายเปิด นโยบายแซนด์บ็อกซ์มีผลกับทุกหน้าที่ระบุเป็นหน้าแซนด์บ็อกซ์ในไฟล์ Manifest
นโยบายเริ่มต้น
หากผู้ใช้ไม่ได้กำหนดนโยบายรักษาความปลอดภัยเนื้อหาในไฟล์ Manifest ระบบจะใช้คุณสมบัติเริ่มต้นสำหรับทั้งหน้าส่วนขยายและหน้าส่วนขยายที่ทำแซนด์บ็อกซ์
ค่าเริ่มต้นเหล่านี้เทียบเท่ากับการระบุนโยบายต่อไปนี้ในไฟล์ Manifest ของคุณ
{
// ...
"content_security_policy": {
"extension_pages": "script-src 'self'; object-src 'self';",
"sandbox": "sandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';"
}
// ...
}
ในกรณีนี้ ส่วนขยายจะโหลดเฉพาะสคริปต์และออบเจ็กต์ในเครื่องจากทรัพยากรที่เป็นแพ็กเกจของตัวเองเท่านั้น WebAssembly จะถูกปิดใช้ และส่วนขยายจะไม่เรียกใช้ JavaScript ในบรรทัดหรือประเมินสตริงเป็นโค้ดสั่งการได้ หากมีการเพิ่มหน้าแซนด์บ็อกซ์ ก็จะมีสิทธิ์ที่ผ่อนปรนมากขึ้นในการประเมินสคริปต์จากภายนอกส่วนขยาย
นโยบายความปลอดภัยของเนื้อหาขั้นต่ำที่ปรับแต่งได้
นักพัฒนาแอปอาจเพิ่มหรือนำกฎสำหรับส่วนขยายออก หรือใช้นโยบายรักษาความปลอดภัยเนื้อหาขั้นต่ำที่จำเป็นเพื่อให้เหมาะกับความต้องการของโปรเจ็กต์ของตน
นโยบายหน้าส่วนขยาย
Chrome บังคับใช้นโยบายรักษาความปลอดภัยเนื้อหาขั้นต่ำกับหน้าส่วนขยาย ซึ่งเทียบเท่ากับการระบุนโยบายต่อไปนี้ในไฟล์ Manifest ของคุณ
{
// ...
"content_security_policy": {
"extension_pages": "script-src 'self' 'wasm-unsafe-eval'; object-src 'self';"
}
// ...
}
ผ่อนปรนนโยบาย extension_pages
เกินค่าขั้นต่ำนี้ไม่ได้ กล่าวคือ คุณจะเพิ่มแหล่งที่มาของสคริปต์อื่นๆ ลงในคำสั่งไม่ได้ เช่น การเพิ่ม 'unsafe-eval'
ไปยัง script-src
หากคุณเพิ่มแหล่งที่มาที่ไม่ได้รับอนุญาตลงในนโยบายของส่วนขยาย Chrome จะแสดงข้อผิดพลาดเช่นนี้เมื่อติดตั้ง
'content_security_policy.extension_pages': Insecure CSP value "'unsafe-eval'" in directive 'script-src'.
นโยบายหน้าแซนด์บ็อกซ์
นโยบายเริ่มต้นสำหรับหน้าที่เป็นแซนด์บ็อกซ์จะมีการผ่อนปรนมากกว่าหน้าส่วนขยายมาก เนื่องจากหน้าแซนด์บ็อกซ์ไม่มีสิทธิ์เข้าถึง API ส่วนขยาย หรือไม่มีสิทธิ์เข้าถึงหน้าที่ไม่ใช่แซนด์บ็อกซ์โดยตรง สามารถปรับแต่งนโยบายความปลอดภัยของเนื้อหาของแซนด์บ็อกซ์ได้ตามต้องการ