ปกป้องเว็บไซต์ของคุณด้วยนโยบายคุณสมบัติ
เผยแพร่แล้ว: 2022-03-10คุณลักษณะหนึ่งของแพลตฟอร์มเว็บที่เน้นย้ำในการประชุมสุดยอด Chrome Dev Summit ล่าสุดคือ นโยบายคุณลักษณะ ซึ่งมีจุดมุ่งหมายเพื่อ "อนุญาตให้ผู้เขียนไซต์สามารถเลือกเปิดใช้งานและปิดใช้งานคุณลักษณะต่างๆ ของเบราว์เซอร์และ API ได้" ในบทความนี้ ฉันจะพิจารณาถึงความหมายสำหรับนักพัฒนาเว็บพร้อมตัวอย่างที่นำไปใช้ได้จริง
ในบทความแนะนำของเขาบนเว็บไซต์ Google Developers Eric Bidelman อธิบายนโยบายคุณสมบัติดังต่อไปนี้:
“นโยบายคุณสมบัติเองเป็นข้อตกลงเพียงเล็กน้อยระหว่างนักพัฒนาซอฟต์แวร์และเบราว์เซอร์ที่สามารถช่วยส่งเสริมเป้าหมายในการสร้าง (และบำรุงรักษา) เว็บแอปคุณภาพสูง”
ข้อมูลจำเพาะได้รับการพัฒนาที่ Google โดยเป็นส่วนหนึ่งของกิจกรรม Web Platform Incubator Group เป้าหมายของนโยบายคุณสมบัติมีไว้สำหรับเรา ในฐานะนักพัฒนาเว็บ เพื่อให้สามารถระบุการใช้งานคุณลักษณะแพลตฟอร์มเว็บของเราได้อย่างชัดเจนในเบราว์เซอร์ การทำเช่นนี้ทำให้เราทำข้อตกลงเกี่ยวกับการใช้งานหรือการไม่ใช้งานคุณลักษณะนี้โดยเฉพาะ จากข้อมูลนี้ เบราว์เซอร์สามารถบล็อกคุณลักษณะบางอย่าง หรือรายงานกลับมาหาเราว่ามีการใช้งานคุณลักษณะที่ไม่คาดว่าจะเห็น
ตัวอย่างอาจรวมถึง:
- ฉันกำลังฝัง iframe และไม่ต้องการให้ไซต์ที่ฝังไว้สามารถเข้าถึงกล้องของผู้เยี่ยมชมของฉันได้
- ฉันต้องการจับสถานการณ์ที่มีการปรับใช้ภาพที่ไม่ได้รับการปรับให้เหมาะสมบนเว็บไซต์ของฉันผ่านทาง CMS;
- มีนักพัฒนาหลายคนที่ทำงานในโครงการของฉัน และฉันอยากทราบว่าพวกเขาใช้ API ที่ล้าสมัย เช่น
document.write
หรือไม่
สิ่งเหล่านี้สามารถติดตาม บล็อก หรือรายงานโดยเป็นส่วนหนึ่งของนโยบายคุณสมบัติ
วิธีใช้นโยบายคุณสมบัติ
ในการใช้นโยบายคุณลักษณะ เบราว์เซอร์จำเป็นต้องทราบสองสิ่ง: คุณลักษณะใดที่คุณกำลังสร้างนโยบายสำหรับ และวิธีที่คุณต้องการจัดการคุณลักษณะนั้น
Feature-Policy: <directive> <allowlist>
<directive>
คือชื่อของคุณลักษณะที่คุณกำลังตั้งค่านโยบาย
รายการคุณลักษณะปัจจุบัน (ที่มาจากการนำเสนอใน Chrome Dev Summit) มีดังนี้:
- มาตรความเร่ง
- เซ็นเซอร์วัดแสง
- เล่นอัตโนมัติ
- กล้อง
- เอกสาร-เขียน
- สื่อเข้ารหัส
- เต็มจอ
- ตำแหน่งทางภูมิศาสตร์
- ไจโรสโคป
- เลย์เอาต์แอนิเมชั่น
- ขี้เกียจโหลด
- รูปแบบภาพมรดก
- เครื่องวัดค่าความเข้มข้นของสนามแม่เหล็ก
- มิดิ
- oversize-images
- การชำระเงิน
- ภาพซ้อนภาพ
- ลำโพง
- ซิงค์สคริปต์
- sync-xhr
- unoptimized-images
- unsize-media
- ยูเอสบี
- เลื่อนแนวตั้ง
- vr
<allowlist>
รายละเอียดว่าสามารถใช้คุณลักษณะนี้ได้อย่างไร — หรือไม่เลย — และรับค่าต่อไปนี้ตั้งแต่หนึ่งค่าขึ้นไป
-
*
นโยบายเสรีนิยมที่สุด โดยระบุว่าคุณลักษณะนี้จะได้รับอนุญาตในเอกสารนี้ และ iframes ใดๆ ไม่ว่าจะมาจากโดเมนนี้หรือที่อื่น สามารถใช้เป็นค่าเดียวได้เนื่องจากไม่สมเหตุสมผลที่จะเปิดใช้งานทุกอย่างและส่งต่อในรายการโดเมนเป็นต้น -
self
คุณลักษณะนี้จะพร้อมใช้งานในเอกสารและ iframe ใดๆ อย่างไรก็ตาม iframe ต้องมีที่มาเดียวกัน -
src
ใช้ได้เฉพาะเมื่อใช้แอตทริบิวต์allow
iframe อนุญาตให้ใช้ฟีเจอร์ได้ตราบใดที่เอกสารที่โหลดเข้ามานั้นมาจากแหล่งกำเนิดเดียวกันกับ URL ในแอตทริบิวต์ src ของ iframe -
none
ปิดใช้งานคุณลักษณะสำหรับเอกสารและ iframes ที่ซ้อนกัน สามารถใช้เป็นค่าเดียวเท่านั้น -
<origin(s)>
อนุญาตให้ใช้คุณลักษณะนี้สำหรับต้นทางเฉพาะ ซึ่งหมายความว่าคุณสามารถระบุรายการโดเมนที่อนุญาตให้ใช้คุณลักษณะนี้ได้ รายการโดเมนมีช่องว่างคั่น
มีสองวิธีที่คุณสามารถเปิดใช้งานนโยบายคุณลักษณะบนไซต์ของคุณ: คุณสามารถส่งส่วนหัว HTTP หรือใช้แอตทริบิวต์ allow
บน iframe
ส่วนหัว HTTP
การส่งส่วนหัว HTTP หมายความว่าคุณสามารถเปิดใช้งานนโยบายคุณลักษณะสำหรับหน้าหรือการตั้งค่าทั้งไซต์ของส่วนหัวนั้น และทุกอย่างที่ฝังอยู่ในไซต์ สามารถตั้งค่าส่วนหัวสำหรับทั้งไซต์ของคุณที่เว็บเซิร์ฟเวอร์หรือสามารถส่งจากแอปพลิเคชันของคุณ
ตัวอย่างเช่น หากฉันต้องการป้องกันการใช้ geolocation API และฉันใช้เว็บเซิร์ฟเวอร์ NGINX ฉันสามารถแก้ไขไฟล์การกำหนดค่าสำหรับไซต์ของฉันใน NGINX เพื่อเพิ่มส่วนหัวต่อไปนี้ ซึ่งจะป้องกันไม่ให้เอกสารใด ๆ ในไซต์ของฉันและ iframe ที่ฝังจากการใช้ geolocation API
add_header Feature-Policy "geolocation none;";
สามารถกำหนดนโยบายได้หลายรายการในส่วนหัวเดียว เพื่อป้องกันการระบุตำแหน่งทางภูมิศาสตร์และการสั่น แต่อนุญาต unsized-media
ที่ไม่มีขนาดจากโดเมน example.com ฉันสามารถตั้งค่าต่อไปนี้:
add_header Feature-Policy "vibrate none; geolocation none; unsized-media https://example.com;";
allow
แอตทริบิวต์บน iFrames
หากเรากังวลเป็นหลักว่าจะเกิดอะไรขึ้นกับเนื้อหาใน iframe เราสามารถใช้นโยบายคุณลักษณะบน iframe ได้ นี้ได้รับประโยชน์จากการสนับสนุนเบราว์เซอร์ที่ดีขึ้นเล็กน้อยในขณะที่เขียนด้วย Chrome และ Safari ที่สนับสนุนการใช้งานนี้
หากฉันกำลังฝังไซต์และไม่ต้องการให้ไซต์นั้นใช้ตำแหน่งทางภูมิศาสตร์ API ของกล้องหรือไมโครโฟน iframe ของฉันจะมีลักษณะดังนี้:
<iframe allow="geolocation 'none'; camera 'none'; microphone 'none'">
คุณอาจคุ้นเคยกับแอตทริบิวต์แต่ละรายการที่ควบคุมเนื้อหาของ iframe allowfullscreen
, allowpaymentrequest
และ allowusermedia
สิ่งเหล่านี้สามารถแทนที่ด้วยแอตทริบิวต์การ allow
นโยบายคุณสมบัติ และด้วยเหตุผลความเข้ากันได้ของเบราว์เซอร์ คุณสามารถใช้ทั้งคู่บน iframe ได้ หากคุณใช้ทั้งสองแอตทริบิวต์ แอตทริบิวต์ที่เข้มงวดที่สุดจะถูกนำมาใช้ บทความของ Google แสดงตัวอย่างของ iframe ที่ใช้ allowfullscreen
ซึ่งหมายความว่า iframe ได้รับอนุญาตให้เข้าสู่โหมดเต็มหน้าจอ แต่ต่อมามีนโยบายเกี่ยวกับคุณลักษณะ fullscreen none
ที่ขัดแย้งกัน ความขัดแย้งเหล่านี้ ดังนั้นนโยบายที่เข้มงวดที่สุดจึงได้รับชัยชนะ และ iframe นี้จะไม่ได้รับอนุญาตให้เข้าสู่โหมดเต็มหน้าจอ
<iframe allowfullscreen allow="fullscreen 'none'" src="...">
องค์ประกอบ iframe ยังมีแอตทริบิวต์ sandbox
ที่ออกแบบมาเพื่อจัดการการรองรับคุณสมบัติมากมาย คุณลักษณะนี้ถูกเพิ่มลงในนโยบายการรักษาความปลอดภัยของเนื้อหาด้วยค่า sandbox
ซึ่งจะปิดใช้งานคุณลักษณะแซนด์บ็อกซ์ทั้งหมด ซึ่งสามารถเลือกกลับเข้าสู่การเลือกได้ มีครอสโอเวอร์บางอย่างระหว่างฟีเจอร์แซนด์บ็อกซ์และฟีเจอร์ที่ควบคุมโดยนโยบายฟีเจอร์ และนโยบายฟีเจอร์ไม่ได้พยายามทำซ้ำค่าเหล่านั้นที่ครอบคลุมโดยแซนด์บ็อกซ์แล้ว อย่างไรก็ตาม มันจัดการกับข้อจำกัดบางอย่างของแซนด์บ็อกซ์โดยใช้แนวทางที่ละเอียดยิ่งขึ้นในการจัดการนโยบายเหล่านี้ แทนที่จะปิดทุกอย่างในระดับโลกด้วยการกำหนดนโยบายขนาดใหญ่ชุดเดียว
นโยบายคุณสมบัติและการรายงาน API
คุณสามารถรายงานการละเมิดนโยบายคุณลักษณะได้ผ่าน API การรายงาน ซึ่งหมายความว่าคุณสามารถพัฒนาชุดนโยบายที่ครอบคลุมเพื่อติดตามการใช้คุณลักษณะทั่วทั้งไซต์ของคุณได้ สิ่งนี้จะโปร่งใสอย่างสมบูรณ์ต่อผู้ใช้ของคุณ แต่ให้ข้อมูลจำนวนมากเกี่ยวกับวิธีการใช้คุณลักษณะต่างๆ แก่คุณ
การสนับสนุนเบราว์เซอร์สำหรับนโยบายคุณสมบัติ
ในปัจจุบัน การสนับสนุนเบราว์เซอร์สำหรับนโยบายคุณลักษณะจำกัดเฉพาะ Chrome อย่างไรก็ตาม ในหลายกรณีที่คุณใช้นโยบายคุณลักษณะในระหว่างการพัฒนาและเมื่อดูตัวอย่างไซต์ ไม่จำเป็นต้องเป็นปัญหาเสมอไป
กรณีการใช้งานจำนวนมากที่ฉันจะสรุปด้านล่างสามารถใช้งานได้ในขณะนี้ โดยไม่ก่อให้เกิดผลกระทบใดๆ ต่อผู้เยี่ยมชมไซต์ที่ใช้เบราว์เซอร์โดยไม่ได้รับการสนับสนุน
เมื่อใดควรใช้นโยบายคุณสมบัติ
ฉันชอบแนวคิดที่จะสามารถใช้นโยบายคุณลักษณะเพื่อช่วยในการตัดสินใจในการพัฒนาไซต์ได้ การตัดสินใจที่อาจเขียนได้ดีในเอกสารต่างๆ เช่น งบประมาณด้านประสิทธิภาพ หรือเป็นส่วนหนึ่งของการตรวจสอบ GDPR แต่กลายเป็นสิ่งที่เราต้องจดจำเพื่อรักษาไว้ตลอดชีวิตของไซต์ ไม่ใช่เรื่องง่ายเสมอไปเมื่อมีหลายคนทำงานบนไซต์ บุคคลที่อาจไม่เกี่ยวข้องในระหว่างการตัดสินใจครั้งแรกนั้น หรืออาจเพียงแต่ไม่รู้ข้อกำหนด เราคิดมากเกี่ยวกับบุคคลที่สามที่จัดการเพื่อสร้างผลกระทบต่อไซต์ของเรา อย่างไรก็ตาม บางครั้งไซต์ของเราต้องการการปกป้องจากตัวเราเอง!
จับตาดูบุคคลที่สาม
คุณสามารถป้องกันไม่ให้ไซต์ของบุคคลที่สามเข้าถึงกล้องหรือไมโครโฟนโดยใช้นโยบายคุณลักษณะบน iframe ที่มีแอตทริบิวต์ allow
หากเหตุผลในการฝังไซต์นั้นไม่เกี่ยวข้องกับคุณลักษณะเหล่านั้น การปิดใช้หมายความว่าไซต์นั้นไม่สามารถเริ่มขอสิ่งเหล่านั้นได้ ข้อมูลนี้สามารถเชื่อมโยงกับกระบวนการของคุณเพื่อให้มั่นใจว่าสอดคล้องกับ GDPR ในขณะที่คุณตรวจสอบผลกระทบต่อความเป็นส่วนตัวของไซต์ของคุณ คุณสามารถสร้างกระบวนการในการล็อคการเข้าถึงของบุคคลที่สามโดยใช้นโยบายฟีเจอร์ — ทำให้คุณและผู้เยี่ยมชมของคุณมีความปลอดภัยและความสบายใจมากขึ้น
การใช้งาน นี้ อาศัยการรองรับเบราว์เซอร์สำหรับนโยบายคุณสมบัติเพื่อบล็อกการใช้งาน อย่างไรก็ตาม คุณสามารถใช้โหมดการรายงานนโยบายคุณลักษณะเพื่อแจ้งให้คุณทราบเกี่ยวกับการใช้ API เหล่านี้ หากบุคคลที่สามเปลี่ยนแปลงสิ่งที่พวกเขาจะทำ วิธีนี้จะช่วยให้คุณทราบข้อมูลได้อย่างรวดเร็ว โดยพื้นฐานแล้วทันทีที่ผู้ใช้ Chrome เข้าชมเว็บไซต์เป็นคนแรก
คุณสมบัติการเปิดใช้งานแบบคัดเลือก
เรายังอาจต้องการเลือกเปิดใช้งานคุณสมบัติบางอย่างที่ปกติจะถูกบล็อก บางทีเราต้องการอนุญาตให้ iframe โหลดเนื้อหาจากไซต์อื่นเพื่อใช้คุณลักษณะตำแหน่งทางภูมิศาสตร์ในเบราว์เซอร์ โดยค่าเริ่มต้น Chrome จะบล็อกสิ่งนี้ แต่หากคุณกำลังโหลดเนื้อหาจากเว็บไซต์ที่เชื่อถือได้ คุณสามารถเปิดใช้งานคำขอข้ามต้นทางได้โดยใช้นโยบายคุณสมบัติ ซึ่งหมายความว่าคุณสามารถเปิดคุณลักษณะได้อย่างปลอดภัยเมื่อโหลดเนื้อหาจากโดเมนอื่นที่อยู่ภายใต้การควบคุมของคุณ
จับการใช้ API ที่ล้าสมัยและคุณลักษณะที่มีประสิทธิภาพต่ำ
นโยบายคุณลักษณะสามารถเรียกใช้ในโหมดรายงานเท่านั้น จากนั้นจะสามารถติดตามการใช้งานคุณลักษณะบางอย่างและแจ้งให้คุณทราบเมื่อพบคุณลักษณะดังกล่าวในไซต์ สิ่งนี้มีประโยชน์ในหลาย ๆ สถานการณ์ หากคุณมีไซต์ขนาดใหญ่มากที่มีโค้ดเดิมจำนวนมาก การเปิดใช้นโยบายคุณลักษณะจะช่วยให้คุณติดตามสถานที่ที่ต้องให้ความสนใจได้ หากคุณทำงานร่วมกับทีมขนาดใหญ่ (โดยเฉพาะอย่างยิ่งหากนักพัฒนามักจะดึงไลบรารีโค้ดของบุคคลที่สามบางส่วน) นโยบายคุณลักษณะสามารถตรวจจับสิ่งที่คุณไม่ต้องการเห็นบนไซต์ได้
การจัดการกับรูปภาพที่ปรับแต่งได้ไม่ดี
แม้ว่าบทความส่วนใหญ่ที่ฉันเคยเห็นเกี่ยวกับนโยบายคุณสมบัติจะเน้นที่ความปลอดภัยและความเป็นส่วนตัว แต่ฟีเจอร์ต่างๆ เกี่ยวกับการเพิ่มประสิทธิภาพรูปภาพนั้นดึงดูดใจฉันจริงๆ เป็นคนที่จัดการกับเนื้อหาจำนวนมากที่สร้างโดยผู้ใช้ทางเทคนิคและไม่ใช่ด้านเทคนิค นโยบายคุณลักษณะสามารถใช้เพื่อช่วยปกป้องประสบการณ์ของผู้ใช้ตลอดจนประสิทธิภาพของไซต์ของคุณ โดยป้องกันไม่ให้ผู้เยี่ยมชมดาวน์โหลดรูปภาพที่มีขนาดใหญ่เกินไปหรือไม่ได้ปรับแต่ง
ในโลกอุดมคติ CMS ของคุณจะจัดการกับการจัดการรูปภาพ เพื่อให้แน่ใจว่ารูปภาพจะได้รับการปรับขนาดอย่างเหมาะสม ปรับให้เหมาะสมสำหรับเว็บและบริบทที่จะแสดง อย่างไรก็ตาม ชีวิตจริงนั้นแทบจะไม่ใช่โลกในอุดมคติ และบางครั้ง งานของการปรับขนาดก็เช่นกัน และการเพิ่มประสิทธิภาพรูปภาพจะปล่อยให้บรรณาธิการเนื้อหาทำให้แน่ใจว่าไม่ได้อัปโหลดรูปภาพขนาดใหญ่ไปยังเว็บ นี่เป็นปัญหาโดยเฉพาะหากคุณใช้ CMS แบบคงที่โดยไม่มีเลเยอร์การจัดการเนื้อหาอยู่ด้านบน แม้จะเป็นคนช่างเทคนิค มันง่ายมากที่จะลืมปรับขนาดภาพหน้าจอขนาดยักษ์หรือรูปภาพจากกล้องที่คุณใส่ลงในโฟลเดอร์เพื่อใช้เป็นตัวยึดตำแหน่ง
ขณะนี้อยู่เบื้องหลังการตั้งค่าสถานะใน Chrome เป็นคุณลักษณะที่สามารถช่วยได้ แนวคิดเบื้องหลังคุณลักษณะเหล่านี้คือการเน้นภาพที่เป็นปัญหาเพื่อให้สามารถแก้ไขได้โดยไม่ทำให้ไซต์เสียหาย
นโยบายฟีเจอร์ unsized-media
ที่ไม่มีขนาดจะค้นหารูปภาพหรือวิดีโอที่ไม่ได้กำหนดขนาดไว้ใน HTML หรือ CSS เมื่อโหลดองค์ประกอบสื่อที่ไม่ได้ปรับขนาด อาจทำให้เนื้อหาบนหน้าเรียงใหม่
เพื่อป้องกันไม่ให้มีการเพิ่มสื่อที่ไม่ได้ขนาดลงในไซต์ ให้ตั้งค่าส่วนหัวต่อไปนี้ สื่อจะแสดงด้วยขนาดเริ่มต้น 300 × 150 พิกเซล คุณจะเห็นไซต์ของคุณโหลดด้วยสื่อขนาดเล็ก และรู้ว่าคุณมีปัญหาที่ต้องแก้ไข
Feature-Policy: unsized-media 'none'
ดูการสาธิต (ต้องการ Chrome Canary ที่เปิดใช้งานคุณลักษณะแพลตฟอร์มเว็บแบบทดลอง)
นโยบายฟีเจอร์ oversized-images
จะตรวจสอบว่ารูปภาพมีขนาดไม่ใหญ่เกินคอนเทนเนอร์ หากเป็นเช่นนั้น จะมีการแสดงตัวยึดตำแหน่งแทน นโยบายนี้มีประโยชน์อย่างยิ่งในการตรวจสอบว่าคุณไม่ได้ส่งรูปภาพเดสก์ท็อปขนาดใหญ่ไปยังผู้ใช้มือถือของคุณ
Feature-Policy: oversized-images 'none'
ดูการสาธิต (ต้องการ Chrome Canary ที่เปิดใช้งานคุณลักษณะแพลตฟอร์มเว็บแบบทดลอง)
นโยบายฟีเจอร์ unoptimized-images
ที่ไม่ได้ปรับให้เหมาะสมจะตรวจสอบว่าขนาดข้อมูลของรูปภาพเป็นไบต์นั้นใหญ่กว่าพื้นที่แสดงผลเป็นพิกเซลไม่เกิน 0.5 เท่าหรือไม่ หากเปิดใช้นโยบายนี้และรูปภาพละเมิด เราจะแสดงที่พักแทนรูปภาพ
Feature-Policy: unoptimized-images 'none'
ดูการสาธิต (ต้องการ Chrome Canary ที่เปิดใช้งานคุณลักษณะแพลตฟอร์มเว็บแบบทดลอง)
การทดสอบและการรายงานเกี่ยวกับนโยบายคุณสมบัติ
Chrome DevTools จะแสดงข้อความเพื่อแจ้งให้คุณทราบว่าคุณลักษณะบางอย่างถูกบล็อกหรือเปิดใช้งานโดยนโยบายคุณลักษณะ หากคุณได้เปิดใช้งานนโยบายคุณลักษณะบนไซต์ของคุณ คุณสามารถตรวจสอบได้ว่าการดำเนินการนี้ใช้ได้ผลหรือไม่
เพิ่มการรองรับนโยบายฟีเจอร์ในไซต์ Security Headers ซึ่งหมายความว่าคุณสามารถตรวจสอบสิ่งเหล่านี้พร้อมกับส่วนหัว เช่น นโยบายการรักษาความปลอดภัยของเนื้อหาในไซต์ของคุณ หรือไซต์อื่นๆ บนเว็บ
มีส่วนขยาย Chrome DevTools ที่ให้คุณสลับเปิดและปิดนโยบายคุณสมบัติต่างๆ (ยังเป็นวิธีที่ดีในการตรวจสอบหน้าเว็บของคุณโดยไม่จำเป็นต้องกำหนดค่าส่วนหัวใดๆ)
หากคุณต้องการผสานรวมนโยบายคุณลักษณะของคุณกับ API การรายงาน คุณสามารถดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีดำเนินการได้ที่นี่
การอ่านและทรัพยากรเพิ่มเติม
ฉันพบแหล่งข้อมูลจำนวนหนึ่ง ซึ่งหลายแห่งที่ฉันใช้เมื่อค้นคว้าบทความนี้ สิ่งเหล่านี้ควรให้ทุกสิ่งที่คุณต้องการเพื่อเริ่มใช้นโยบายคุณสมบัติในแอปพลิเคชันของคุณเอง หากคุณใช้นโยบายการรักษาความปลอดภัยของเนื้อหาอยู่แล้ว ดูเหมือนว่าจะเป็นขั้นตอนที่สมเหตุสมผลเพิ่มเติมในการควบคุมวิธีที่ไซต์ของคุณทำงานร่วมกับเบราว์เซอร์เพื่อช่วยรับรองความปลอดภัยและความเป็นส่วนตัวของผู้ที่ใช้ไซต์ของคุณ คุณมีโบนัสเพิ่มเติมจากการที่สามารถใช้นโยบายคุณลักษณะเพื่อช่วยให้คุณติดตามองค์ประกอบที่สร้างความเสียหายต่อประสิทธิภาพในไซต์ของคุณได้ตลอดเวลา
- ข้อกำหนดนโยบายคุณสมบัติ
- แนะนำนโยบายคุณสมบัติ
- ดูจาก Chrome Dev Summit
- นโยบายคุณลักษณะเกี่ยวกับ MDN
- ฉันสามารถใช้นโยบายคุณสมบัติได้หรือไม่
- การสาธิตนโยบายคุณสมบัติ
- ตั้งค่าส่วนหัวนโยบายคุณสมบัตินโยบายผู้อ้างอิงและนโยบายความปลอดภัยเนื้อหาในNginx