การใช้การกรองเนื้อหาและเครือข่ายในส่วนขยาย Chrome ทำได้หลายวิธี คู่มือนี้แสดงภาพรวมของความสามารถในการกรองเนื้อหาที่ส่วนขยายสามารถใช้ได้ รวมถึงวิธีการ เทคนิค และ API ต่างๆ ในการกรองที่ส่วนขยาย Chrome สามารถใช้ได้
กรองคำขอเครือข่าย
วิธีหลักในการกรองคำขอเครือข่ายในส่วนขยาย Chrome คือการใช้ chrome.declarativeNetRequest
API นักพัฒนาฟีเจอร์คำขอสุทธิเชิงประกาศสามารถบล็อกหรือแก้ไขคำขอเครือข่ายด้วยการระบุกฎการประกาศ รูปแบบกฎคำขอสุทธิเชิงประกาศจะขึ้นอยู่กับความสามารถของไวยากรณ์รายการตัวกรองที่ตัวบล็อกโฆษณาส่วนใหญ่ใช้
ซึ่งกฎดังกล่าวสามารถทำสิ่งต่อไปนี้
- บล็อกคำขอเครือข่าย
- อัปเกรดรูปแบบ URL เป็นรูปแบบที่ปลอดภัย (http เป็น https หรือ ws เป็น wss)
- เปลี่ยนเส้นทางคำขอเครือข่าย
- แก้ไขส่วนหัวคำขอหรือการตอบกลับ
Chrome รองรับกฎที่มาพร้อมกับส่วนขยาย และกฎที่อัปเดตแบบไดนามิก (เช่น เพื่อตอบสนองต่อการกำหนดค่าระยะไกลหรืออินพุตของผู้ใช้)
รวมกฎตัวกรองไว้กับส่วนขยาย
กฎที่รวมอยู่ในแพ็กเกจส่วนขยายจะเรียกว่า "กฎแบบคงที่" กฎเหล่านี้จะติดตั้งและอัปเดตเมื่อมีการติดตั้งหรืออัปเกรดส่วนขยาย Chrome จำกัดจำนวนกฎแบบคงที่ที่ส่วนขยายประกาศได้
สำหรับกฎคำขอสุทธิเชิงประกาศคงที่ Chrome จะมีกลุ่มกฎที่ใช้ร่วมกันทั่วโลกรวม 300,000 ข้อที่ชุดส่วนขยายที่ติดตั้งจะใช้ร่วมกันได้ นอกจากนี้ ส่วนขยายทุกรายการรับประกันได้ว่ากฎแบบคงที่จะอนุญาต 30, 000 ข้อ ตัวอย่างเช่น หากผู้ใช้ติดตั้งส่วนขยายการกรองเนื้อหาเพียง 1 รายการ ส่วนขยายจะใช้กฎคำขอสุทธิของประกาศแบบคงที่ได้สูงสุด 330,000 กฎ หากต้องการทราบจำนวนกฎ รายการตัวกรอง EasyList ยอดนิยมที่ตัวบล็อกโฆษณาส่วนใหญ่ใช้ ประกอบด้วยกฎเครือข่ายประมาณ 35,000 ข้อ
กฎคำขอสุทธิเชิงประกาศแบบคงที่สามารถจัดออกเป็นชุดกฎต่างๆ ได้ ส่วนขยายสามารถระบุชุดกฎแบบคงที่ได้สูงสุด 100 ชุด และเปิดใช้ชุดกฎเหล่านี้ได้พร้อมกันครั้งละ 50 ชุด
เพิ่มกฎตัวกรองแบบไดนามิกขณะรันไทม์
กฎบางข้อไม่สามารถรวมเข้ากับส่วนขยายได้ แต่จะต้องเพิ่มส่วนขยายขณะรันไทม์แทน กฎเหล่านี้เรียกว่า "กฎแบบไดนามิก"
สำหรับกฎคำขอสุทธิเชิงประกาศแบบไดนามิก Chrome จะอนุญาตกฎแบบไดนามิกที่ปลอดภัยได้สูงสุด 30,000 รายการต่อส่วนขยาย กฎส่วนใหญ่ถือเป็นกฎที่ปลอดภัย ได้แก่ block
, allow
, allowAllRequests
หรือ upgradeScheme
แม้จะไม่ได้ถือว่ากฎปลอดภัย (เช่น redirect
) คุณก็ยังคงเพิ่มกฎแบบไดนามิกได้ แต่ขีดจำกัดสูงสุดต่ำสุดที่ 5,000 ข้อจะนับรวมในขีดจำกัดกฎแบบไดนามิก 30,000 กฎด้วย เพื่อให้เข้าใจได้อย่างชัดเจน กฎ 98-99% ในรายการตัวกรองรายการที่ง่ายถือเป็นกฎที่ปลอดภัย
ส่วนขยายการกรองเนื้อหาสามารถใช้กฎแบบคงที่และแบบไดนามิกตามลำดับเพื่อรวมกฎการกรองที่รู้จักไว้กับส่วนขยาย และเพื่ออัปเดตส่วนขยายด้วยกฎการกรองเนื้อหาใหม่จากเซิร์ฟเวอร์เมื่อจำเป็น
ปรับกฎโดยอิงตามคำขอที่สังเกตได้
ระบบนิเวศของโฆษณามีการเปลี่ยนแปลงอย่างต่อเนื่องและจำเป็นต้องอัปเดตตัวกรองเนื้อหาให้สอดคล้องกัน เมื่อใช้ chrome.webRequest
ร่วมกับกฎคำขอสุทธิตามประกาศแบบไดนามิก คุณจะสามารถวิเคราะห์คำขอของเครือข่ายเพื่อหาการละเมิดความเป็นส่วนตัวที่อาจเกิดขึ้น และบล็อกคำขอเหล่านี้ในอนาคตได้
โดยมีวิธีการพื้นฐานดังนี้
- วิเคราะห์คำขอเว็บโดยใช้
chrome.webRequest
API และพยายามระบุคำขอที่ไม่สอดคล้องกับข้อกำหนดด้านความเป็นส่วนตัวของคุณโดยอัตโนมัติ เช่น โดยใช้แมชชีนเลิร์นนิง - สร้างกฎคำขอสุทธิเชิงประกาศแบบไดนามิกสําหรับคําขอแต่ละรายการที่ระบุในขั้นตอนที่ 2 เพื่อให้ระบบบล็อกคําขอที่คล้ายกันในอนาคต
- (ไม่บังคับ) ส่งกฎคำขอสุทธิเชิงประกาศ ( Declarative Net Request) ที่ระบุกลับไปยังเซิร์ฟเวอร์ เพื่อให้สามารถเพิ่มกฎดังกล่าวเป็นกฎคำขอสุทธิเชิงประกาศคงที่ (The Declarative Net Request) แบบคงที่ได้เมื่อมีการอัปเดตส่วนขยายครั้งถัดไป
ประโยชน์ของวิธีนี้คือการวิเคราะห์จะเกิดขึ้นแบบไม่พร้อมกันและไม่ส่งผลเสียต่อประสิทธิภาพของเว็บไซต์
อนุญาตให้ผู้ใช้กำหนดกฎการกรองของตนเอง
คุณสามารถอนุญาตให้ผู้ใช้กำหนดกฎการกรองเนื้อหาของตนเองได้โดยการสร้าง UI การกำหนดค่าตัวกรองในส่วนขยาย แปลงกฎที่ผู้ใช้กำหนดเหล่านี้เป็นกฎคำขอสุทธิเชิงประกาศ และเพิ่มเป็นกฎแบบไดนามิก กฎเหล่านี้จะยังคงใช้งานได้สำหรับผู้ใช้ดังเดิมกับเซสชันของเบราว์เซอร์และการอัปเกรดส่วนขยายต่างๆ หากใช้วิธีนี้ ผู้ใช้จะเพิ่มกฎที่กำหนดเองได้สูงสุด 30,000 รายการ
กรององค์ประกอบบนหน้าเว็บ
การกรองคำขอเครือข่ายเป็นเพียงส่วนสำคัญส่วนหนึ่งในการกรองเนื้อหา อีกส่วนที่สำคัญคือการนำเนื้อหาที่ไม่ต้องการออกจากหน้าเว็บโดยตรง ตัวอย่างเช่น กฎรายการตัวกรองแบบง่ายมากกว่า 40% กำหนดวิธีที่ลูกค้าควรซ่อนองค์ประกอบของหน้า
ซึ่งทำได้โดยใช้สคริปต์เนื้อหา สคริปต์เนื้อหาจะทำงานในบริบทของหน้าเว็บและทำการเปลี่ยนแปลงได้โดยใช้ DOM
ส่วนขยาย Chrome ไม่ได้รับอนุญาตให้เรียกใช้โค้ดที่โฮสต์จากระยะไกล อย่างไรก็ตาม ข้อมูลจากเซิร์ฟเวอร์เกี่ยวกับองค์ประกอบที่จะซ่อนจะไม่ได้รับผลกระทบ เนื่องจากข้อมูลนี้ถือว่าเป็นข้อมูลการกำหนดค่า ดังนั้นกฎองค์ประกอบจะอัปเดตขณะรันไทม์ได้ทุกเมื่อที่จำเป็น
กรองคำขอเครือข่ายในส่วนขยายที่ติดตั้งนโยบาย
กรณีการใช้งานขององค์กรและการศึกษามักมีข้อกำหนดที่เข้มงวดมากในการกรองเนื้อหาและเครือข่าย เช่น การกรองคำขอตามเนื้อหา หากต้องการเปิดใช้กรณีการใช้งานเหล่านี้ ส่วนขยายที่ติดตั้งนโยบายจะมีวิธีเพิ่มเติมในการกรองและบล็อกคำขอของเครือข่าย การใช้ตัวเลือก "การบล็อก" กับเหตุการณ์ใน webRequest
API ช่วยให้คุณใช้ตัวกรองเนื้อหาแบบเป็นโปรแกรมที่เรียกใช้ตรรกะที่กำหนดเองกับทุกคำขอเพื่อตัดสินว่าควรบล็อกคำขอหรือไม่ ซึ่งจำกัดไว้เฉพาะส่วนขยายที่ติดตั้งโดยนโยบายเท่านั้น เนื่องจากส่วนขยายเหล่านี้มีระดับความน่าเชื่อถือสูงกว่า
สกัดกั้นคำขอการนำทาง
คุณกรองคำขอการนำทางได้โดยใช้กฎคำขอสุทธิเชิงประกาศ ตัวอย่างเช่น คุณอาจต้องการเลี่ยง URL ติดตามผลที่เปลี่ยนเส้นทางผู้ใช้ไปยังปลายทางที่ต้องการ วิธีหนึ่งในการจัดการปัญหานี้คือการเปลี่ยนเส้นทางคำขอการนำทาง https://tracker.com?redirect=https%3A%2F%2Fexample.com
ไปยังหน้าส่วนขยาย (ซึ่งต้องกำหนดค่าเป็นทรัพยากรที่เข้าถึงได้ทางเว็บ) ซึ่งจะเรียกใช้สคริปต์เพื่อดึงข้อมูลเป้าหมายการเปลี่ยนเส้นทางและเปลี่ยนเส้นทางไปยังปลายทางโดยใช้ window.location.replace("https://example.com")
เพื่อหลีกเลี่ยงเครื่องมือติดตามลิงก์