การกรองเนื้อหา

การใช้การกรองเนื้อหาและเครือข่ายในส่วนขยาย 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 ร่วมกับกฎคำขอสุทธิตามประกาศแบบไดนามิก คุณจะสามารถวิเคราะห์คำขอของเครือข่ายเพื่อหาการละเมิดความเป็นส่วนตัวที่อาจเกิดขึ้น และบล็อกคำขอเหล่านี้ในอนาคตได้

โดยมีวิธีการพื้นฐานดังนี้

  1. วิเคราะห์คำขอเว็บโดยใช้ chrome.webRequest API และพยายามระบุคำขอที่ไม่สอดคล้องกับข้อกำหนดด้านความเป็นส่วนตัวของคุณโดยอัตโนมัติ เช่น โดยใช้แมชชีนเลิร์นนิง
  2. สร้างกฎคำขอสุทธิเชิงประกาศแบบไดนามิกสําหรับคําขอแต่ละรายการที่ระบุในขั้นตอนที่ 2 เพื่อให้ระบบบล็อกคําขอที่คล้ายกันในอนาคต
  3. (ไม่บังคับ) ส่งกฎคำขอสุทธิเชิงประกาศ ( 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") เพื่อหลีกเลี่ยงเครื่องมือติดตามลิงก์