ไทย

เครื่องมือสำหรับนักพัฒนา · การเปรียบเทียบข้อความ

วิธีตรวจสอบเครื่องมือความแตกต่างของเบราว์เซอร์จะไม่อัปโหลดข้อความของคุณ: คู่มือ DevTools

· มันทำงานอย่างไร

ข้อความที่แตกต่าง ความเป็นส่วนตัว การประมวลผลเบราว์เซอร์

แผงข้อความในเครื่อง 2 แผงแยกออกจากเส้นทางเครือข่ายขาออกที่ว่างเปล่า
ภาพประกอบเวกเตอร์ต้นฉบับ ToolAcre

คำแนะนำแบบทีละขั้นตอนเกี่ยวกับการใช้แผงเครือข่ายของเบราว์เซอร์เพื่อยืนยันว่าการเปรียบเทียบทำงานภายในเครื่อง รวมถึงสิ่งที่นโยบายความปลอดภัยของเนื้อหาที่เข้มงวดบอกคุณเกี่ยวกับหน้าเว็บ

'เรียกใช้ในเบราว์เซอร์ของคุณ' เป็นการอ้างสิทธิ์ที่คุณสามารถทดสอบได้ - ระบุปัญหา: หน้าความเป็นส่วนตัวคือคำมั่นสัญญา คำขอเครือข่ายคือข้อเท็จจริง

“การรันในเบราว์เซอร์ของคุณ” ควรได้รับการทดสอบในขอบเขตที่มีประโยชน์ที่แคบที่สุด สำหรับ Text diff พื้นที่เก็บข้อมูลจะแสดงค่าของตัวแก้ไขที่ส่งโดยตรงไปยัง `diffLines` แถวที่แสดงผลไปยังโหนด DOM และเอาต์พุตทางเลือกที่ส่งให้กับตัวช่วยดาวน์โหลดในเครื่อง ไม่มีการเปรียบเทียบ API อยู่ในห่วงโซ่นั้น

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

การเปิดแผงเครือข่ายก่อนที่คุณจะวาง — แสดงวิธีการเปิด DevTools ล้างรายการคำขอและบันทึกเอาไว้

เปิดเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ก่อนเข้าสู่เนื้อหาที่ละเอียดอ่อน เลือกเครือข่าย ล้างคำขอโหลดเพจก่อนหน้า เก็บบันทึกเฉพาะเมื่อจำเป็น และทำการบันทึกต่อไป ใช้เครื่องหมายที่โดดเด่นแต่ไม่เป็นความลับในแต่ละด้าน เพื่อให้คุณสามารถค้นหา URL คำขอ ส่วนหัว และเนื้อหาได้โดยไม่ต้องเปิดเผยเนื้อหาจริง

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

การอ่านคำขอระหว่างการเปรียบเทียบ - อธิบายสิ่งที่ควรปรากฏ (ไม่มีอะไรใหม่) และสิ่งที่จะเป็นธงสีแดง: คำขอ POST บีคอน โฮสต์บุคคลที่สาม

ในระหว่างการเปรียบเทียบ `diff.js` จะได้รับสองสตริงและตัวเลือก ทำให้การสิ้นสุดบรรทัดเป็นปกติ รับคีย์บรรทัด สร้างตารางอาร์เรย์ที่พิมพ์แบบมีขอบเขต และส่งคืนแถว UI จับคู่แถวเหล่านั้นกับองค์ประกอบโดยใช้เนื้อหาข้อความ ไม่มีฟังก์ชันใดที่เรียก fetch, XHR, WebSocket หรือบีคอน

การดาวน์โหลดเป็นไปตามพาธในเครื่องอื่น: `toUnifiedText` สร้างสตริงที่มีส่วนหัวและแถวนำหน้า จากนั้น `downloadText` จะสร้างการดาวน์โหลดเบราว์เซอร์ ตรวจสอบผู้ช่วยนั้นเมื่อทำการเรียกร้องที่สมบูรณ์เกี่ยวกับการออม การอ่านเฉพาะอัลกอริธึมจะทำให้การดำเนินการขั้นสุดท้ายอยู่นอกห่วงโซ่หลักฐาน

สิ่งที่ส่วนหัวของนโยบายความปลอดภัยของเนื้อหาเปิดเผย — อธิบายว่า CSP ที่เข้มงวดของ ToolAcre ห้ามสคริปต์ภายนอก แบบอักษร และแท็กอย่างไร และวิธีอ่านส่วนหัวในมุมมองการตอบกลับ

โครงร่างขอให้มีการสรุปนโยบายความปลอดภัยของเนื้อหาที่เข้มงวด แต่ CSP เป็นคุณสมบัติการตอบสนองและไม่มีหลักฐานการปรับใช้อยู่ในไฟล์เปรียบเทียบเหล่านี้ ตรวจสอบการตอบสนองของเอกสารจริงในเครือข่ายเมื่อ CSP อยู่ในโมเดลภัยคุกคามของคุณ และรายงานคำสั่งตามที่สังเกตทุกประการ

นโยบายที่เข้มงวดสามารถลดการโหลดภายนอกบางคลาสได้ แต่ไม่ได้แทนที่คุณลักษณะการติดตาม ในทางกลับกัน การไม่มีคำสั่งที่ต้องการไม่สามารถพิสูจน์ได้ว่าเปรียบเทียบข้อความโพสต์ ให้การตรวจสอบนโยบายและการสังเกตการไหลของข้อมูลเป็นข้อค้นพบที่ชัดเจน แทนที่จะปล่อยให้ฝ่ายหนึ่งยืนหยัดเพื่ออีกฝ่าย

หลักฐาน CSP เป็นของการตอบกลับที่ปรับใช้ ไม่ใช่ไฟล์ต้นฉบับ text-diff ที่ตรวจสอบที่นี่

สำหรับการตรวจสอบที่ใช้งานได้ ให้ป้อน `left-marker-7319` และ `right-marker-4826` ล้างเครือข่าย จากนั้นคลิกปิดและเปิดเปรียบเทียบกับตัวพิมพ์ที่ละเว้น ค้นหารายละเอียดคำขอใหม่สำหรับเครื่องหมายทั้งสอง เส้นทางพื้นที่เก็บข้อมูลที่คาดไว้จะดำเนินการ DOM ทำงานได้เท่านั้น ดังนั้นการดำเนินการดังกล่าวจึงไม่จำเป็นต้องมีคำขอประมวลผลข้อความ

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

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

UI เก็บ `lastDiff` ไว้ในตัวแปรภายในเครื่อง ดังนั้น Download patch จึงสามารถใช้ผลลัพธ์ล่าสุดได้ ล้างล้างทั้งเอดิเตอร์ ล้างเอาต์พุตที่แสดงผล และตั้งค่าตัวแปรนั้นเป็นโมฆะ เส้นทางที่ได้รับการตรวจสอบไม่มี localStorage, IndexedDB หรือการเรียกบัญชีสำหรับประวัติการเปรียบเทียบ

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

เครื่องมือนี้ไม่มีการเรียกอย่างต่อเนื่อง ตรวจสอบพื้นที่เก็บข้อมูลเบราว์เซอร์ปัจจุบันแยกกันก่อนที่จะอ้างสิทธิ์ในวงกว้าง

การตรวจสอบนี้ครอบคลุมถึงโมดูล Text diff ของ ToolAcre และตัวช่วยดาวน์โหลดในเครื่องที่ใช้โดย UI มันไม่ได้รับรองทุกสคริปต์ที่โหลดโดยการปรับใช้ มิดเดิลแวร์เครือข่ายภายนอกพื้นที่เก็บข้อมูล ส่วนขยายที่แทรกไว้ หรือผู้จัดการคลิปบอร์ด องค์ประกอบเหล่านั้นจำเป็นต้องมีหลักฐานของตนเอง

พฤติกรรมการปฏิบัติงานที่ปลอดภัยที่สุดยังคงถูกจำกัดให้เหลือน้อยที่สุด: วางเฉพาะฟิลด์ที่จำเป็นสำหรับการเปรียบเทียบ ใช้ฟิกซ์เจอร์ที่แก้ไขแล้วสำหรับการตรวจสอบ และเก็บวัสดุที่ได้รับการควบคุมอย่างเข้มงวดในสภาพแวดล้อมที่ได้รับอนุมัติ การใช้งานฝั่งเบราว์เซอร์จะลบเซิร์ฟเวอร์ประมวลผลหนึ่งตัวออกจากเส้นทาง มันไม่ได้ลบทุกระบบโดยรอบ

ส่วนขยายและเพจที่ใช้งานยังคงอยู่นอกการพิสูจน์เส้นทางการเปรียบเทียบแบบคงที่

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

ดำเนินการตรวจสอบก่อนที่จะใช้เครื่องมือสำหรับงานที่เป็นความลับ จากนั้นเปรียบเทียบเฉพาะเนื้อหาที่สภาพแวดล้อมเบราว์เซอร์ของคุณได้รับอนุญาตให้เก็บไว้ หลักฐานควรเดินทางไปพร้อมกับข้อสรุป: เส้นทางต้นทาง คำขอที่สังเกต และเลเยอร์ใดๆ ที่ไม่ได้รับการตรวจสอบ ไม่ใช่การรับประกันโดยสมบูรณ์ที่ไม่ได้รับการสนับสนุนจากเส้นทางที่สมบูรณ์